有没有办法将一幅图片随机切成N个不规则的片? 有没有办法将一幅图片随机切成N个不规则的片,就好象打碎的玻璃一样?思路?我是想生成那种完全不规则的,边缘就象地图的边界一样的那种。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以利用层来实现,先定义一张有分裂痕的gif或png,加到要进行处理的图片的最上层具体方法自己看 Image类 打错了,是aspjpeg组件,专门助理图片的。 原来倒时做过把BMP图片分成规则的N个小图.没做过不规则的.大概说一下思路:首先要弄明白BMP的格式,他的前面是固定的格式信息,后面的是像素,像素和看到的相反他是从底向上存储的, 具体的你可以查一下.然后就是切割像素了,规则的好切,不规则的话可能要用的多维数组可自定义结构了.这个对于楼主来说都应该不难,我认为关健是如果把一个图随机切成多块的算法,有了每个块的结构信息生成一张图应该不难.下面说一下切成多块算法先说一下简单的,按一条直线切分,首先在图的范围内随机生成2个点坐标形成一条一直线,然后根据这个直线找到经过这条直线的点.这就需要用到计算机图形学中的算法了,这本书里有.楼上要回去查了.有了这个算法就OK了.多条直线的我就不多说了重复几次就行了.至于曲线的办法和上面类似,生成曲线和按曲线找点的算法在计算机图形学中也有. 决定使用GDI+中的GraphicsPath来做,思路如下:1、随机在图片范围内生成N个随机点,以这N个随机点用Curve连成相对比较光滑的曲线或者干脆使用直线;2、以此为基础,在图形的四边上随机取四个点,将这N个随机点中最接近的点再次随机取出M个点,再次生成曲线或直线,当然允许有一个随机的波动范围,否则就成了直线。这样至少可以得到四至五块了。3、将分出来的区域再次按2的方式随机分割,根据需要循环。4、最后将各自的区域产生对应的图片,方法是使用GraphicsPath产生Region, SetClip,绘图保存即得结果。目前只是思路,仍未开始写程序。 http://www.codeproject.com/cs/media/Image_Processing_Lab.asp?msg=1342964 这个算法如何写? 求助:如何在asp.net中实现鼠标右键自定义菜单 关于在.net里面用pictureBox画图的问题! 请问怎么样才能把数据库登陆信息写进注册表? 怎么让程序恢复原状 50分求 Microsoft Visual Studio.NET 2003 英文版下载地址 急,光标问题! 在线等。。。 高手们帮帮忙!!! 怎样运行string变量中存的方法?? 如何获取已经展开的treeview的所有根节点(level=0)的集合啊? 谁谁谁有工资管理系统的例子(最好有源码)?给我一份,OK?谢了。 狂急的一个问题,比较难哦,渴望高手回答,在线==~~~ 清哪位朋友给个c#下载地址
具体方法自己看 Image类
大概说一下思路:首先要弄明白BMP的格式,他的前面是固定的格式信息,后面的是像素,像素和看到的相反他是从底向上存储的, 具体的你可以查一下.
然后就是切割像素了,规则的好切,不规则的话可能要用的多维数组可自定义结构了.这个对于楼主来说都应该不难,我认为关健是如果把一个图随机切成多块的算法,有了每个块的结构信息生成一张图应该不难.
下面说一下切成多块算法
先说一下简单的,按一条直线切分,首先在图的范围内随机生成2个点坐标形成一条一直线,然后根据这个直线找到经过这条直线的点.这就需要用到计算机图形学中的算法了,这本书里有.楼上要回去查了.有了这个算法就OK了.
多条直线的我就不多说了重复几次就行了.
至于曲线的办法和上面类似,生成曲线和按曲线找点的算法在计算机图形学中也有.
1、随机在图片范围内生成N个随机点,以这N个随机点用Curve连成相对比较光滑的曲线或者干脆使用直线;
2、以此为基础,在图形的四边上随机取四个点,将这N个随机点中最接近的点再次随机取出M个点,再次生成曲线或直线,当然允许有一个随机的波动范围,否则就成了直线。这样至少可以得到四至五块了。
3、将分出来的区域再次按2的方式随机分割,根据需要循环。
4、最后将各自的区域产生对应的图片,方法是使用GraphicsPath产生Region, SetClip,绘图保存即得结果。目前只是思路,仍未开始写程序。