|
|
|
|
|
|
描画対象 |
VRAM(画面) |
画面(X68000 IOCSコール) |
CDC(デバイスコンテキスト) |
java.awt.Graphics |
com.nttdocomo.ui.Graphics |
描画対象の取得 |
SCREEN n
SET PAGE 表示ページ,裏ページ |
_CRTMOD(n);
_G_CLR_ON();
_APAGE(裏ページ);
_VPAGE(表示ページ); |
CView::OnDraw() の引数 |
|
Canvas#paint() の引数 |
|
|
CWnd::GetDC()
CDC::CreateCompatibleDC() |
Image#getGraphics() |
Image#getGraphics() |
色 |
カラーコード |
カラーコード |
COLORREF |
java.awt.Color |
カラーコード |
デフォルト色 |
COLOR c |
_B_COLOR(c); |
CPen pen(PS_DOT,c);
pDC->SelectObject(&pen);
pDC->SetTextColor(c); |
g.setColor(c); |
g.setColor(c); |
背景色 |
COLOR ,c,c |
|
簡単な方法は無し |
|
Frame#setBackground(c) |
クリア |
CLS |
_WIPE(); |
CRect rect;
this->GetClientRect(&rect);
pDC->FillSolidRect(rect,c); |
g.clearRect(0 ,0, width, height); |
g.clearRect(0,0,getWidth(),getHeight());
↑getWidth(),getHeight()はCanvasのメソッド |
ドット描画 |
PSET(x,y),c
PRESET(x,y),c |
_PSET(x,y,c); |
pDC->SetPixelV(x,y,c); |
|
g.setPixel(x,y,c); |
ドット取得 |
POINT(x,y) |
_POINT(x,y); |
pDC->GetPixel(x,y) |
|
g.getPixel(x,y) |
線描画 |
LINE(sx,sy)-(ex,ey),c
LINE(sx,sy)-STEP(nx-1,ny-1),c |
_LINE(sx,sy,ex,ey,c,線スタイル);
_TXXLINE
_TXYLINE |
pDC->MoveTo(sx,sy);
pDC->LineTo(ex,ey); |
g.drawLine(sx, sy, ex, ey); |
g.drawLine(sx,sy,ex,ey); |
箱描画 |
LINE(sx,sy)-(ex,ey),c,B
LINE(sx,sy)-STEP(nx-1,ny-1),c,B |
_BOX(sx,sy,ex,ey,c,線スタイル);
_TXBOX |
|
g.drawRect(sx, sy, nx, ny); |
g.drawRect(sx,sy,nx,ny); |
箱塗り潰し |
LINE(sx,sy)-(ex,ey),c,BF
LINE(sx,sy)-STEP(nx-1,ny-1),c,BF |
_FILL(sx,sy,ex,ey,c);
_TXFILL |
pDC->FillSolidRect(sx,sy,nx,ny,c); |
g.fillRect(sx, sy, nx, ny); |
g.fillRect(sx,sy,nx,ny); |
円描画 |
CIRCLE(x,y),r,c |
_CIRCLE(x,y,r,c,0,0,256); |
pDC->Arc(x-r,y-r,x+r,y+r,0,0,0,0); |
g.drawOval(x-r,y-r,x+r,y+r);
g.drawArc(x-r,y-r,x+r,y+r,0,360);
g.fillOval(x-r,y-r,x+r,y+r);
g.fillArc(x-r,y-r,x+r,y+r,0,360); |
g.drawArc(x-r,y-r,x+r,y+r,0,360);
g.fillArc(x-r,y-r,x+r,y+r,0,360); |
弧描画 |
CIRCLE(x,y),r,c,開始角,終了角 |
_CIRCLE(x,y,r,c,開始角,終了角,256); |
pDC->Arc(x-r,y-r,x+r,y+r,開始X,開始Y,終了X,終了Y); |
g.drawArc(x-r,y-r,x+r,y+r,開始角,終了角); |
g.drawArc(x-r,y-r,x+r,y+r,開始角,終了角); |
楕円描画 |
CIRCLE(x,y),r,c,,,比率 |
_CIRCLE(x,y,r,c,0,0,比率); |
pDC->Arc(sx,sy,ex,ey,0,0,0,0); |
g.drawOval(sx,sy,ex,ey);
g.drawArc(sx,sy,ex,ey,0,360); |
g.drawArc(sx,sy,ex,ey,0,360); |
塗り潰し |
PAINT(x,y),c,境界色 |
_PAINT(x,y,c,先頭アドレス,終了アドレス); |
|
|
|
文字描画 |
OPEN "GRP:" AS #1
PSET(x,y)
PRINT #1,"abc" |
_SYMBOL
_B_PRINT(x,y,"あいう");
_B_PUTMES |
pDC->TextOut(x,y,"あいう"); |
g.drawString("あいう", x, y+g.getFont().getSize()); |
g.drawString("あいう",x,y); |
コピー |
COPY(sx,sy)-STEP(nx-1,ny-1),ページ TO(dx,dy),ページ |
_TXRASCPY |
pDC->BitBlt(dx,dy,nx,ny,pSrcDC,sx,sy,SRCCOPY); |
g.drawImage(イメージ, dx, dy, null); |
g.drawImage(イメージ,dx,dy); |
透過コピー |
COPY(sx,sy)-STEP(nx-1,ny-1),ページ TO(dx,dy),ページ,TPSET |
グラフィック画面を重ね合わせている場合、カラーコード0は次の画面が透過されて表示される |
なし
(画像のマスクを作っておき、通常画像のSRCANDとマスクのSRCPAINTで重ねる) |
透過色を指定したイメージを使用 |
透過GIFを使用 |
バイト列取得 |
COPY(sx,sy)-STEP(nx-1,ny-1),ページ TO 整数型配列変数 |
_VRAMGET
_TEXTGET |
CBitmap::GetBitmapBits |
|
|
バイト列設定 |
COPY 整数型配列変数 TO(dx,dy),ページ |
_VRAMPUT
_TEXTPUT |
CBitmap::SetBitmapBits |
|
|
ファイル保存 |
BSAVE "ファイル名",開始番地,終了番地,S
COPY(sx,sy)-STEP(nx-1,ny-1),ページ TO "ファイル名" |
|
なし |
ImageIO.write(buffered_img,
"bmp", new FileOutputStream("ファイル名")); |
|
ファイル読込 |
BLOAD "ファイル名",S
COPY "ファイル名" TO(dx,dy),ページ |
|
なし |
BufferedImage img = ImageIO.read(new
FileInputStream("ファイル名")); |
MediaImage mi = MediaManager.getImage("resource:///ファイル名");
mi.use();
Image img = mi.getImage(); |
色生成 |
なし |
なし |
RGB(r,g,b)
r,g,bは0〜255 |
new Color(r,g,b)
r,g,bは0〜255 |
Graphics.getColorOfRGB(r,g,b)
r,g,bは0〜255
Graphics.getColorOfName(色名定数) |
パレット設定 |
COLOR=(c,r,g,b)
r,g,bは0〜7 |
_GPALET(c,rgb);
rgbは0〜0xffff
_TPALET2(c,rgb); |
pDC->SelectPalette(パレット,強制);
pDC->RealizePalette(); |
|
|
パレット取得 |
|
_GPALET(c,-1) |
|
|
|
クリッピング |
なし |
_CLIPPUT |
pDC->SelectClipRgn(リージョン); |
g.clipRect(sx,sy,nx,ny);
g.setClip(sx,sy,nx,ny); |
g.clipRect(sx,sy,nx,ny);
g.setClip(sx,sy,nx,ny); |
pDC->GetClipBox(&rect); |
スクロール |
SET ADJUST(x,y) ←ちょっと違う(苦笑)
SET SCROLL(x,y) |
_SCROLL |
CWnd::SetScrollPos ←スクロールバー用 |
|
|