C# 图片相关问题

问题描述

实现如图所示功能:选择图片,然后拼到一个版面上,最后输出为一张大图求思路,有例子不甚感激,要条件也行,谢谢

解决方案

解决方案二:
不懂。帮顶!
解决方案三:
左边自定义控件,右边N个PictureBox,输出时建立所有Picturebox在一起时最大的区域,遍历每个PictureBox将图片按PictureBox坐标绘制到总图。
解决方案四:
移动图片,就是鼠标的控制,这个你可以去搜索C#移动之类的信息,拼成大图,可以根据每个图片的位置,把他们draw到一个image上,然后将image输出
解决方案五:
引用3楼bdmh的回复:

移动图片,就是鼠标的控制,这个你可以去搜索C#移动之类的信息,拼成大图,可以根据每个图片的位置,把他们draw到一个image上,然后将image输出

移动图片的时候,图片之间相碰后不知道怎么处理,可否给点思路啊大哥
解决方案六:
js和ajax操作。
解决方案七:
js和ajax操作。
解决方案八:
定义一个自己的Frame加上Z-Index属性涉及到层的概念判断鼠标落点,查找在该落点的所有图片,然后再判断该落点所有图片的Z-Index然后根据Z-Index的大小值确定选中的目标,然后更改该图片的AllowMove属性移动鼠标Move方法中判断AllowMove属性是否为true如果为True那就移动(跟着鼠标画)...下面应该也就没什么难度了吧...
解决方案九:
定义一个自己的Frame加上Z-Index属性涉及到层的概念判断鼠标落点,查找在该落点的所有图片,然后再判断该落点所有图片的Z-Index然后根据Z-Index的大小值确定选中的目标,然后更改该图片的AllowMove属性移动鼠标Move方法中判断AllowMove属性是否为true如果为True那就移动(跟着鼠标画)...下面应该也就没什么难度了吧...
解决方案十:
该回复于2011-12-28 10:41:51被版主删除
解决方案十一:
引用8楼shigaofei1的回复:

定义一个自己的Frame加上Z-Index属性涉及到层的概念判断鼠标落点,查找在该落点的所有图片,然后再判断该落点所有图片的Z-Index然后根据Z-Index的大小值确定选中的目标,然后更改该图片的AllowMove属性移动鼠标Move方法中判断AllowMove属性是否为true如果为True那就移动(跟着鼠标画)...下面应该也就……

兄弟说的是WPF的吧,可惜我不会呀T_T
解决方案十二:
引用8楼shigaofei1的回复:

定义一个自己的Frame加上Z-Index属性涉及到层的概念判断鼠标落点,查找在该落点的所有图片,然后再判断该落点所有图片的Z-Index然后根据Z-Index的大小值确定选中的目标,然后更改该图片的AllowMove属性移动鼠标Move方法中判断AllowMove属性是否为true如果为True那就移动(跟着鼠标画)...下面应该也就……

兄弟说的是wpf吧,可惜我不会呀T_T,能否指点指点
解决方案十三:
判断矩形是否相交函数如下,跟所有其他图片判断是否相交,相交就画虚框,没相交就找上、下、左、右最近的边看看是否需要碰撞处理protectedboolCrossLine(Rectangler1,Rectangler2){intx1,x2,x3,x4;inty1,y2,y3,y4;x1=r1.X;x2=r1.X+r1.Width;y1=r1.Y;y2=r1.Y+r1.Height;x3=r2.X;x4=r2.X+r2.Width;y3=r2.Y;y4=r2.Y+r2.Height;boolm=(x1>x4)|(x2<x3);booln=(y2<y3)|(y1>y4);return!(m|n);}
解决方案十四:
判断矩形是否相交函数如下,跟所有其他图片判断是否相交,相交就画虚框,没相交就找上、下、左、右最近的边看看是否需要碰撞处理protectedboolCrossLine(Rectangler1,Rectangler2){intx1,x2,x3,x4;inty1,y2,y3,y4;x1=r1.X;x2=r1.X+r1.Width;y1=r1.Y;y2=r1.Y+r1.Height;x3=r2.X;x4=r2.X+r2.Width;y3=r2.Y;y4=r2.Y+r2.Height;boolm=(x1>x4)|(x2<x3);booln=(y2<y3)|(y1>y4);return!(m|n);}
解决方案十五:
引用13楼cacoda的回复:

判断矩形是否相交函数如下,跟所有其他图片判断是否相交,相交就画虚框,没相交就找上、下、左、右最近的边看看是否需要碰撞处理protectedboolCrossLine(Rectangler1,Rectangler2){intx1,x2,x3,x4;inty1,y2,y3,y4;x1……

嗯嗯,判断相交已经会了,用rectangle1.IntersectWith(rectangle2),相交后呢?
解决方案:
啊,这问题没人答了啊
解决方案:
给你设定了个类publicclassFrame:IDisposable{publicFrame(intx,inty,intwidth,intheight,Graphicsg){Img=newBitmap(width,height);_Rectangle=newRectangle(x,y,width,height);parentGraphics=g;ischange=true;}privateImageImg;privateint_Z_Index;publicintZ_Index{get{return_Z_Index;}set{_Z_Index=value;ischange=true;}}publicGraphicsparentGraphics{get;set;}publicvoidDraw(){if(ischange){parentGraphics.DrawImage(Img,_Rectangle.Location);ischange=false;}}publicboolischange=false;privateRectangle_Rectangle;publicintX{get{return_Rectangle.X;}set{_Rectangle=newRectangle(value,_Rectangle.Y,_Rectangle.Width,_Rectangle.Height);ischange=true;}}publicintY{get{return_Rectangle.Y;}set{_Rectangle=newRectangle(_Rectangle.X,value,_Rectangle.Width,_Rectangle.Height);ischange=true;}}publicintWidth{get{return_Rectangle.Width;}}//set{_Rectangle=newRectangle(_Rectangle.X,_Rectangle.Y,value,_Rectangle.Height);}}publicintHeight{get{return_Rectangle.Height;}}//set{_Rectangle=newRectangle(_Rectangle.X,_Rectangle.Y,_Rectangle.Width,value);}}///<summary>///ifthisIs_collidewiththedestinationimage///</summary>///<paramname="destination"></param>///<returns></returns>publiccollideIs_collide(Framedestination){Rectanglercl=Rectangle.Intersect(destination._Rectangle,this._Rectangle);collidec;if(!rcl.IsEmpty){if(rcl.X>destination.X){c=collide.right;}elseif(rcl.X==destination.Y){c=collide.equalX;}else{c=collide.left;}if(rcl.Y>destination.Y){c=c|collide.down;}elseif(rcl.Y==destination.Y){c=c|collide.equalY;}else{c=c|collide.down;}}else{c=collide.no;}returnc;}publicvoidDispose(){Img.Dispose();Img=null;}///<summary>///collideenum///</summary>publicenumcollide:sbyte{no=1,top=2,right=4,down=8,left=16,equalX=32,equalY=64}}

解决方案:
帮定下,我也遇到同样的问题
解决方案:
这里貌似小心过度了...publicintX{get{return_Rectangle.X;}set{_Rectangle=newRectangle(value,_Rectangle.Y,_Rectangle.Width,_Rectangle.Height);ischange=true;}}publicintY{get{return_Rectangle.Y;}set{_Rectangle=newRectangle(_Rectangle.X,value,_Rectangle.Width,_Rectangle.Height);ischange=true;}

只要这样就行了publicintX{get{return_Rectangle.X;}set{_Rectangle.X=value;ischange=true;}}publicintY{get{return_Rectangle.Y;}set{_Rectangle.Y=value;ischange=true;}

时间: 2024-09-14 20:45:57

C# 图片相关问题的相关文章

iOS 图片相关操作,如:翻转、缩放、截取等

整理自:http://www.iliunian.com/category/multimedia/page/3 这个网站上还有许多其它有用的内容,值得参考,包括ffmpeg的编译和使用经验,有空,按其上说明研究一下,能真正自已用起来了,俺也写一篇,之前只是编译能播放了而已. 再有,比微信中的音频压缩更好的方案,叫Speex+ogg免费音频压缩方案,这个俺去年为公司应用增加了该功能,1分钟音频只有34K大小,可用于armv6.armv7.armv7s.simulator,以后有armv8.v9也没问

ext-Ext 显示图片相关的问题

问题描述 Ext 显示图片相关的问题 这是通过 数组形式显示 function showDefaultImg_org_edit() { debugger; var imageUrls = [ "identiImgUrl_org_edit", "identibackImgUrl_org_edit", "identiImgUrl2_org_edit", "cardImgUrl_org_edit", "cardImgUrl

Android编程之图片相关代码集锦

本文实例总结了Android编程之图片相关代码.分享给大家供大家参考,具体如下: 1. Bitmap转化为字符串: /** * @param 位图 * @return 转化成的字符串 */ public static String bitmapToString(Bitmap bitmap) { // 将Bitmap转换成字符串 String string = null; ByteArrayOutputStream bStream = new ByteArrayOutputStream(); bi

基于jquery实现图片相关操作(重绘、获取尺寸、调整大小、缩放)_jquery

本文为大家分享了四个jquery图片常见操作,供大家参考,具体内容如下 1.关于图片大小的重绘,你可以在服务端来实现,也可以通过JQuery在客户端实现. $(window).bind("load", function() { // IMAGE RESIZE $('#product_cat_list img').each(function() { var maxWidth = 120; var maxHeight = 120; var ratio = 0; var width = $(

问一下关于Listview 图片相关问题

问题描述 显示的时候图片在上面字体在图片下面要如何实现 解决方案 解决方案二:那不是文字看不见了么?解决方案三:LargeIcon...解决方案四:LargeIcon...不行啊.是这样啊图片字体解决方案五:急啊.有谁知道啊.找半天没找到啊.解决方案六:LargeIcon无此属性解决方案七:将View属性设置为LargeIcon解决方案八:View属性没有LargeIcon啊.解决方案九:this.listView1.View=View.LargeIcon;

基于HTML5的可预览多图片Ajax上传_AJAX相关

一.关于图片上传什么什么的 在XHTML的时代,我们使用HTML file控件上传图片一次只能上传一张.要一次上传多图,做法是借助于flash.例如swfupload.js.可惜,使用复杂的点,比如flash文件需与页面同父文件夹,JavaScript文件大小也很可观. 我之前曾翻译编辑过一篇"Ajax Upload多文件上传插件"的文章,此插件的亮点是使用隐藏的iframe框架页面模拟ajax上传,但是,实际上,还是一次只能上传1张图片,可以多次上传而已. HTML5是个好东东,其中

教程/dreamweaver/提高 DW MX 2004新功能:图片处理

dreamweaver|教程  Dreaweaver MX 2004 中增加了图片处理功能,如图片亮度和对比度的调节.图片的锐化效果等等. 下面我们来一起详细了解Dreamweaver MX 2004在图片处理方面的改进. 在Dreamweaver MX 2004中导入一张图片,看看属性面板上对应的图片相关选项,我们会发现多了几个图标功能. 首先在图片大小设置栏旁边就多了一个带箭头的圆形的按钮图标,如图3,这是快速使图片还原到原始大小的工具.另外在原有的切换到 Fireworks 图标的旁边的一

Dreamweaver MX 2004 图片处理

dreamweaver Dreaweaver MX 2004 中增加了图片处理功能,如图片亮度和对比度的调节.图片的锐化效果等等. 下面我们来一起详细了解Dreamweaver MX 2004在图片处理方面的改进. 在Dreamweaver MX 2004中导入一张图片,看看属性面板上对应的图片相关选项,我们会发现多了几个图标功能. 首先在图片大小设置栏旁边就多了一个带箭头的圆形的按钮图标,如图3,这是快速使图片还原到原始大小的工具.另外在原有的切换到 Fireworks 图标的旁边的一组图表之

Dreamweaver MX 2004 新功能:图片处理

dreamweaver Dreaweaver MX 2004 中增加了图片处理功能,如图片亮度和对比度的调节.图片的锐化效果等等. 下面我们来一起详细了解Dreamweaver MX 2004在图片处理方面的改进. 在Dreamweaver MX 2004中导入一张图片,看看属性面板上对应的图片相关选项,我们会发现多了几个图标功能. 首先在图片大小设置栏旁边就多了一个带箭头的圆形的按钮图标,如图3,这是快速使图片还原到原始大小的工具.另外在原有的切换到 Fireworks 图标的旁边的一组图表之