S-JIS[2005-01-16/2007-12-29] 変更履歴

プログラミング言語比較

グラフィック操作

 

 
描画対象 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←スクロールバー用    

言語比較全般へ戻る / 参考文献 / プログラム記号比較 / 技術メモへ戻る
メールの送信先:ひしだま