社区
GAME,图形处理/多媒体
帖子详情
关于图形裁切并且保存为文件的问题
雄蜂
2005-07-20 09:55:23
我想将一个图形的选中部分保存为另外的文件,处理的文件格式为bmp或jpeg。请问如何实现这样的效果:
1、有一个由鼠标拖放控制的矩形选择框在图形上选定,选定部分之外的部分显示为阴影;
2、选定部分用另存为其他图形文件。
...全文
198
13
打赏
收藏
关于图形裁切并且保存为文件的问题
我想将一个图形的选中部分保存为另外的文件,处理的文件格式为bmp或jpeg。请问如何实现这样的效果: 1、有一个由鼠标拖放控制的矩形选择框在图形上选定,选定部分之外的部分显示为阴影; 2、选定部分用另存为其他图形文件。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
aloking
2005-08-01
打赏
举报
回复
procedure TForm_DealPic.PaintBox1MouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
rgn :HRgn;
bmp,bmp0 :TBitmap;
begin
x2:=X;
y2:=Y;
bmp :=TBitmap.Create;
bmp.Assign(Image1.Picture.Bitmap);
if (x2>bmp.Width) or (y2>bmp.Height) then
begin
//showmessage('区域出界');
bmp.free;
exit;
end;
//PaintBox1.Canvas.
PaintBox1.Canvas.Pen.Color:=clred;
PaintBox1.Canvas.MoveTo(x1,y1);
PaintBox1.Canvas.LineTo(x1,y2);
PaintBox1.Canvas.LineTo(x2,y2);
PaintBox1.Canvas.LineTo(x2,y1);
PaintBox1.Canvas.LineTo(x1,y1);
////////
////////
//Image1.Picture.Assign(nil);
rgn :=CreateRectRgn(x1,y1,x2,y2);
SelectClipRgn(bmp.Canvas.Handle,rgn);
bmp0 :=TBitmap.Create;
bmp0.Width :=abs(x2-x1);
bmp0.Height :=abs(y2-y1);
BitBlt(bmp0.Canvas.Handle,0,0,abs(x2-x1),abs(y2-y1),bmp.Canvas.Handle,x1,y1,SRCCOPY);
Image2.Picture.Bitmap.Assign(bmp0);
bmp.Free;
bmp0.Free;
////////
end;
以前写的,顺手贴给你
aimeoo
2005-07-29
打赏
举报
回复
刚完成你要的效果!
绝缘
2005-07-29
打赏
举报
回复
哎...网上去找找吧..Delphi是最好实现的了.!可惜我现在遇到的问题更是郁闷!远程桌面,接收到JPG图像数据(内存中)后,没办法让它直接显示在控件中...
雄蜂
2005-07-26
打赏
举报
回复
唉,有大虾来说说么?
jemyzhang
2005-07-26
打赏
举报
回复
兄弟,不要等别人的现成代码了,大家给了你思路,你可以自己动动手啊。这样你可以学到很多的东西。
雄蜂
2005-07-21
打赏
举报
回复
请问哪里有现成的源代码。
雄蜂
2005-07-21
打赏
举报
回复
哪位好心人帮帮忙呀。
「已注销」
2005-07-21
打赏
举报
回复
不熟悉delphi就直接去找现成的源代码吧,在这里问,问不出很完美的结果的
mxd6819318
2005-07-21
打赏
举报
回复
用一个按钮控件实现原图片的复制,如果区域不合适,点击这个按钮就把不合适的区域擦除了(恢复为原图)。
复制位图函数为copyme():
procedure CopyMe(tobmp: TBitmap; frbmp : TGraphic);
begin
tobmp.Width := frbmp.Width;
tobmp.Height := frbmp.Height;
tobmp.PixelFormat := pf24bit;
tobmp.Canvas.Draw(0,0,frbmp);
end;
雄蜂
2005-07-20
打赏
举报
回复
还有我希望得到的效果是画矩形时得到矩形的绘制过程,即鼠标拖动的矩形,还有一种是矩形已经存在进行位置改变拖动,还有就是当发现矩形区域不合适需要进行擦除。
雄蜂
2005-07-20
打赏
举报
回复
请给出具体代码好么?delphi我还不是太熟悉代码编写。
jemyzhang
2005-07-20
打赏
举报
回复
1.mousedown时记下位置,拖动鼠标,mouseup时记录第二个位置。这时你得到一个矩形区域,将外面的部分画为阴影就可以了。
2.create一个BITMAP,调用bitmap.canvas.copyrect(bitmap的rect,显示刚才图片的canvas,你选取范围的rect);
最后bitmap.savetofile();就可以了
一个基于ASP.NET+js+C#实现的图片切割、
裁切
并实现
保存
程序源码
一个基于ASP.NET+js+C#实现的图片切割、
裁切
并实现
保存
程序源码
php+flash上传图片自由
裁切
头像
上传图片可用鼠标拖动自由
裁切
图片,生成头像 附有源码!
【教程】如何使用global mapper
裁切
DEM数据.pdf
【教程】如何使用global mapper
裁切
DEM数据.pdf
关于收藏的图片
裁切
等实例
NULL 博文链接:https://rentianchou.iteye.com/blog/1014435
圖像簡單
裁切
這是圖像的一個簡單處理的小程序
裁切
不錯用喔 試試吧
GAME,图形处理/多媒体
1,185
社区成员
14,330
社区内容
发帖
与我相关
我的任务
GAME,图形处理/多媒体
Delphi GAME,图形处理/多媒体
复制链接
扫一扫
分享
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章