红 红色闪电 Unregistered / Unconfirmed GUEST, unregistred user! 2001-02-06 #1 Canvas 为什么在有些对象里能画图为什么有些不能呢?比如tbitmap对象 在IMAGE FORM1里都可以 用StretchDraw() 而在BITMAP的对象变量里就画不出图象来
郭 郭镇松 Unregistered / Unconfirmed GUEST, unregistred user! 2001-02-06 #2 可以画出来的,只是你看不到,如果你放一个 image 控件, 用 image.picture.bitmap.assign(你画的那个bitmap对象),就可以看到了。
N nhuangjr Unregistered / Unconfirmed GUEST, unregistred user! 2001-02-06 #3 对! 它们的用法都是一样的,不过有时候可能还要刷新一下。
吕 吕雪松 Unregistered / Unconfirmed GUEST, unregistred user! 2001-02-06 #5 TBitmap就好象在内存里的一块图像缓冲,你当然可以在上面乱画,但是你看不到,因为 它在内存里。你可以用一个看得到的Form1.Canvas.Draw(0,0,YourBufBMP)来将内存中的 图象画出来,一点问题都不会有。其实在内存中生成一个BMP是一些高速图象显示的一个 基本技术,可以不会让画面闪烁。 TImage内置了让Bitmap画到前景的机制,所以你能所画所见。
TBitmap就好象在内存里的一块图像缓冲,你当然可以在上面乱画,但是你看不到,因为 它在内存里。你可以用一个看得到的Form1.Canvas.Draw(0,0,YourBufBMP)来将内存中的 图象画出来,一点问题都不会有。其实在内存中生成一个BMP是一些高速图象显示的一个 基本技术,可以不会让画面闪烁。 TImage内置了让Bitmap画到前景的机制,所以你能所画所见。
面 面条 Unregistered / Unconfirmed GUEST, unregistred user! 2001-02-06 #6 画完了吧bitmap bitblt到屏幕上就可以看到啦 Bitblt(bitmap.canvas.handle,0,0,width,height,GetDC(0),0,0,SRCCOPY)
L liguang Unregistered / Unconfirmed GUEST, unregistred user! 2001-02-11 #10 var bitmap:tbitmap; begin bitmap:=tbitmap.create; bitmap.loadfromfile('c:/lg.bmp'); bitblt(canvas.handle,10,10,58,58,bitmap.canvas.handle,0,0,SRCCOPY); bitmap.free; end;
var bitmap:tbitmap; begin bitmap:=tbitmap.create; bitmap.loadfromfile('c:/lg.bmp'); bitblt(canvas.handle,10,10,58,58,bitmap.canvas.handle,0,0,SRCCOPY); bitmap.free; end;