c#,大量图片的拼接

gjbsoft 2010-04-30 11:11:03
我想把大量的图片拼接到一起,但是试了很多天,都没有成功。大家帮忙一下。
这些图片都是.jpg格式,尺寸一样(256*256),不需要进行任何的剪切,希望完成100*100张图片的拼接……
在线等……
...全文
837 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
gjbsoft 2010-05-02
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 myhotmail123 的回复:]
用C++试一下,性能好,解决的方法很多
[/Quote]
思路……
gjbsoft 2010-05-02
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 yanghl1998 的回复:]
....
写一下简单思路, 100 * 100 就是 1W 张哈...


C# code

bitmap DesImage = initArray[256*100,256 *100];// 初始化好图片..
int intCount = 0 ;

for (int i = 0 ; i <100 ; i++)
{ // 100张遍历下...你图片加载进来 ,
for (int……
[/Quote]
在初始化的时候就崩溃了……
为什么呢?
songfei5201314 2010-05-02
  • 打赏
  • 举报
回复
有项目管理经验的.NET开发的朋友,可以加上限500人的QQ群28720769,一起交流。
myhotmail123 2010-05-02
  • 打赏
  • 举报
回复
用C++试一下,性能好,解决的方法很多
it521 2010-05-02
  • 打赏
  • 举报
回复
我是来打酱油的
skep99 2010-05-01
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 gjbsoft 的回复:]
引用 12 楼 skep99 的回复:
一个月前的帖子有讨论过,而且有结果,去看看吧:
http://topic.csdn.net/u/20100323/10/f9dd0b2b-5b04-4adb-8076-5788fa2f014d.html?7945

高深,不懂……
[/Quote]
结论就是拼接这么大的图没有现实意义.
像GoogleMap这样的都是很多小图,即时的下载,在你看到的视野中拼接成一张视图的.
gjbsoft 2010-05-01
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 skep99 的回复:]
一个月前的帖子有讨论过,而且有结果,去看看吧:
http://topic.csdn.net/u/20100323/10/f9dd0b2b-5b04-4adb-8076-5788fa2f014d.html?7945
[/Quote]
高深,不懂……
skep99 2010-05-01
  • 打赏
  • 举报
回复
一个月前的帖子有讨论过,而且有结果,去看看吧:
http://topic.csdn.net/u/20100323/10/f9dd0b2b-5b04-4adb-8076-5788fa2f014d.html?7945
jeedispeed 2010-05-01
  • 打赏
  • 举报
回复
25600*25600 。。。
8000×1000的PSD 大概800M
你这个数量级 我无力了
如果你是实际应用的话 我建议你做个PhotoShop Action 看看PS能不能做这个数量级
如果是。。。
gjbsoft 2010-05-01
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 jeedispeed 的回复:]
你是想追求效率?
这个和GDI里面一样 Lock一下 获得一个IntPtr
然后Marshal.Copy就好了
[/Quote]
首先是想完成10000数量极的拼图,然后追求一下效率
gjbsoft 2010-05-01
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 skep99 的回复:]
没明白楼主拼接遇到了什么问题.
不过25600*25600大小图片,要占用大量的内存,可能会崩溃...
[/Quote]
确实崩溃……
jeedispeed 2010-05-01
  • 打赏
  • 举报
回复
你是想追求效率?
这个和GDI里面一样 Lock一下 获得一个IntPtr
然后Marshal.Copy就好了
skep99 2010-05-01
  • 打赏
  • 举报
回复
没明白楼主拼接遇到了什么问题.
不过25600*25600大小图片,要占用大量的内存,可能会崩溃...
mngzilin 2010-05-01
  • 打赏
  • 举报
回复
100*100张图片的拼接
==========
图片太多,可以先生成缩略图操作

利用索引映射位图的方法将有效位图画上去

如果要放大操作,可以只加载有效原位图

双缓存技术少不了
yanghailun_ 2010-05-01
  • 打赏
  • 举报
回复
楼上的不少哥们说没有意义...
管他有没有意义...咱们是技术层面...
derray 2010-05-01
  • 打赏
  • 举报
回复
到此学习了
yanghailun_ 2010-05-01
  • 打赏
  • 举报
回复
修订下上面的一个语句...
bitmap DesImage = initArray[256*100,256 *100];// 初始化好图片..

实际我表达的意思就是建一个这么高宽的图片...

习惯性将图片操作写成数组方式 initArray[256*100,256 *100];
其实数组操作赋值也是可以的... 图片的操作就是二维数组...
yanghailun_ 2010-05-01
  • 打赏
  • 举报
回复
....
写一下简单思路, 100 * 100 就是 1W 张哈...


bitmap DesImage = initArray[256*100,256 *100];// 初始化好图片..
int intCount = 0 ;

for (int i = 0 ; i <100 ; i++)
{ // 100张遍历下...你图片加载进来 ,
for (int m = 0; m<100 ; m++)
{
bitmap sourImage = new Bitmap("图片地址") ;//
for (int x = 0 ; x < 256; X++)
for (int y = 0 ; x < 256 ; y++)
DesImage.setpixel(x+i*256,y+m*256,sourImage.getpixel(x,y)); // 赋值循环
// i*256 和m*256就是控制 位移....
}
}


完全手打...没有使用vs2005...注意大小写和命名...最重要的是理解思路
gjbsoft 2010-05-01
  • 打赏
  • 举报
回复
自己再顶一下……
gjbsoft 2010-04-30
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wo65432519 的回复:]
以什么为基准拼接啊?
[/Quote]
这些图片是有序的,只要按照这些顺序拼接起来,就可以,高度和宽度都是一样的
加载更多回复(5)

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧