var
Bitmap: TBitmap;
MyRect, MyOther: TRect;
begin MyRect := Rect(10,10,100,100); MyOther := Rect(10,111,100, 201);
Bitmap := TBitmap.Create;
Bitmap.LoadFromFile('c:\windows\tartan.bmp');
// Form1.Canvas.BrushCopy(MyRect, Bitmap, MyRect, clBlack);
Form1.Canvas.CopyRect(MyOther,Bitmap.Canvas,MyRect); Bitmap.Free;
end;我的问题:
1:我怎样知道相片文件的象素呢?(因为我要从其中件位置复制到右侧边上。)
2:Form1.Canvas.CopyRect(MyOther,Bitmap.Canvas,MyRect);的意思是说,从myrect大小的图片复制成MYOTHER大小的图片吗?
3:怎么用ASSIGN把图片保存呢?谢谢!!!
解决方案 »
- 三层如何从数据库中读二进制数据
- 能够让 TWebBrowser 在编辑状态下显示 DIV 或 Table 的边线吗﹖
- 关于复选排队运行程序的实现(再发100分)
- 请大家帮我把vb的代码转换成delphi的
- 新手求助:多窗体调用问题(简单)!
- 【老帖】不好笑愿挨砸^_^
- 点击MDI子窗体的一个按钮,显示一个窗体,这个窗体相对这个子窗体是ShowModal的,但同时还可以在MDI窗体里面打开其它子窗体,如何做出这
- 用quickreport如何实现工资条打印!!,急急急。。。
- 怎么判断图片是否是CMYK,RGB,GRAY这些色彩模式
- 我想改变mainmenu的颜色。又不想用第三方的控件,可以吗?
- 怎么样让桌面静止,好抓取控件截图?
- 高手!!!!!!!!!管道运行dos程序的问题。
存盘的问题,可以考虑使用文件流TFileStream。
问题描叙不清晰:
要知道图片大小可以使用Bitmap.Width Bitmap.Height
要知道具体某个像素的色彩值可以使用Bitmap.ScanLine[row]
也可以使用Bitmap.Canvas.Pixels[x, y]2:Form1.Canvas.CopyRect(MyOther,Bitmap.Canvas,MyRect);的意思是说,从myrect大小的图片复制成MYOTHER大小的图片吗?
是指把Bitmap.Canvas的MyRect区域的内容复制到MyOther,会进行相应的缩放,所以不是一定要进 行缩放处理,MyOther和MyRect的大小要一致(偏移可以不同)3.不明白问题的意思。保存成文件?在内存中保存???
Bitmap.LoadFromFile('c:\a.bmp');
h:=bitmap.Width div image1.Width;
l:=bitmap.Height div image1.Height ;
image2.Canvas.CopyRect(Rect(0,0,shape1.Width,shape1.height),bitmap.canvas,Rect((shape1.top-image1.top)*h,(shape1.left-image1.left)*l,shape1.Width*h ,shape1.Height*l));
image2.Picture.SaveToFile('c:\b.jpg');为啥显示在IMAGE2中的图片总会必SHAPE1框住的部分少一点呢?
是不是应该:
image2.Canvas.CopyRect(Rect(0,0,shape1.Width,shape1.height),bitmap.canvas,Rect((shape1.top-image1.top)*h,(shape1.left-image1.left)*l,(shape1.top-image1.top+shape1.Width)*h ,(shape1.left-image1.left+shape1.Height)*l));