急求!!!bitmap拼接的问题

dicky13 2011-11-09 03:38:20
问题如下:
有多张格式一样的图片,具体数目不可以确定
要拼接成一个图,怎么处理?????

帮帮忙 谢谢!!!
...全文
305 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
dicky13 2011-11-21
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 lovexjyong 的回复:]

去屎吧,连图片数量都不知道,怎么知道拼成多大的图片,我合成地球那么大的图片行不??
[/Quote]

果然是90后 素质就是这么差 还这么2 真是井底之蛙还沾沾自喜
netying 2011-11-14
  • 打赏
  • 举报
回复
图片数量不可知?怎么可能不可知?
Simple魏 2011-11-14
  • 打赏
  • 举报
回复
那你先告诉我,一排有多少张图片你能确定吗,如果连这都不能确定,那肯定绘制不了。
dicky13 2011-11-14
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 weixuejun891229 的回复:]

我想问的是,你的需求是什么。你是不是想写一个方法,只传bitmap的组数或者集合就能帮你绘制一张大图。即使是这样,但是图片也是要有顺序的啊,如果能拼接起来,也不会是一张正常的图啊。如果不知道所有图片的大小,怎么计算每张小bitmap的坐标。
[/Quote]


没错 你说的很对 就是这样 我程序里面要用到这个方法
图片有顺序 但是这个说起来很麻烦 而且顺序我已经搞定
所以在这里提问我想简单一点 假设图片大小都一样 按顺序一行排开来 只有图片数量不可知
如何实现拼图????

只要这个问题解决了 其他东西我自己结合起来就好了
Simple魏 2011-11-14
  • 打赏
  • 举报
回复
我想问的是,你的需求是什么。你是不是想写一个方法,只传bitmap的组数或者集合就能帮你绘制一张大图。即使是这样,但是图片也是要有顺序的啊,如果能拼接起来,也不会是一张正常的图啊。如果不知道所有图片的大小,怎么计算每张小bitmap的坐标。
a-white-lie 2011-11-14
  • 打赏
  • 举报
回复
去屎吧,连图片数量都不知道,怎么知道拼成多大的图片,我合成地球那么大的图片行不??
ako312 2011-11-14
  • 打赏
  • 举报
回复
还没搞写呢?

到你排的时候,有多少张图片,你肯定是能知道的吧?

知道了有多少张图片,拼接完后的总大小也就知道了。
Simple魏 2011-11-11
  • 打赏
  • 举报
回复
既然你要拼成一张大图片,难道你就不能确定有几张小图吗?
1.首先你应该得到这张大图,大图里面是没有内容的,就是一张空的图片
Bitmap bmp = Bitmap.createBitmap(widthSum,heightSum,Config.ARGB_8888);//并没用内容
widthSum,heightSum就是小图宽度、高度的和。
2.然后使用画布在这个bmp上面画图
Canvas canvas = new Canvas(bmp);//把需要显示的,一起画在画布上
canvas.drawBitmap(bmp0, 0, 0, null);//小图1(第一个参数就是小图,第二个,第三个就是确定这个小图在这个大图上面的位置,第四个可以不用管)
canvas.drawBitmap(bmp1, 0, 0, null);//小图2


ako312 2011-11-11
  • 打赏
  • 举报
回复
肯定是可以的啊,canvas不能转换,view也是可以转换的吧
dicky13 2011-11-11
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 weixuejun891229 的回复:]

既然你要拼成一张大图片,难道你就不能确定有几张小图吗?
1.首先你应该得到这张大图,大图里面是没有内容的,就是一张空的图片
Bitmap bmp = Bitmap.createBitmap(widthSum,heightSum,Config.ARGB_8888);//并没用内容
widthSum,heightSum就是小图宽度、高度的和。
2.然后使用画布在这个bmp上面画图
Canv……
[/Quote]

朋友 我就是按照你这样做的
但是现在不行了 我这个东西可以看做一个公用的api 功能就是把一堆小图拼成一个大图

所以肯定没法知道你给我的有多少张图 我这里现在实际是 这个数量最少的是1张 最多的是60张
如果提前定义bitmap 得到的就不是具体的合成的bitmap的大小了

看来android这个东西还真不好搞啊。。。。。
只能多一步提前去预计算初始bitmap的大小了,这样的问题就是图片数量小效率还可以,一旦图片堆的数量达到了万这个级别的时候,效率就不敢恭维了。
dicky13 2011-11-10
  • 打赏
  • 举报
回复
晕乎乎啊
netying 2011-11-10
  • 打赏
  • 举报
回复
表示关注
dicky13 2011-11-10
  • 打赏
  • 举报
回复
就是这样的

入力是一系列的图片bitmap,不知道多少张,按照一行的顺序直线排列
出力是一张合成后的bitmap,这样如何做
dicky13 2011-11-10
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 ako312 的回复:]

不用new canvas吧,view的ondraw方法是这样的

onDraw(Canvas canvas){
canvas.drawBitmap(......);
}
[/Quote]

朋友 我们有个误区
我要的最后是bitmap的图片,而不是一个画布canvas,不是显示出去就好了,我还有其他用途

canvas我能取到上面的图像生成一个bitmap吗??
ako312 2011-11-10
  • 打赏
  • 举报
回复
不用new canvas吧,view的ondraw方法是这样的

onDraw(Canvas canvas){
canvas.drawBitmap(......);
}
dicky13 2011-11-09
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 ako312 的回复:]

要先初始化一个bitmap是怎么回事,不太懂你说的,


bitmap 就用的你那些要拼接的bitmap

有多少bitmap就canvas.drawbitmap多少次

每个bitmap的位置用matrix来控制
[/Quote]

new canvas的时候不是要给这个canvas定义一个bitmap吗
如果这个bitmap是空的 canvas.drawbitmap不会报错吗?
ako312 2011-11-09
  • 打赏
  • 举报
回复
要先初始化一个bitmap是怎么回事,不太懂你说的,


bitmap 就用的你那些要拼接的bitmap

有多少bitmap就canvas.drawbitmap多少次

每个bitmap的位置用matrix来控制

dicky13 2011-11-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ako312 的回复:]

这个好玩,view里重写ondraw

每张图要拼到什么位置能不能确定呢?

能确定的话就好办
[/Quote]

恩是这样的
可以确定每个图的位置,但是无法确定总的宽度和长度,因为不知道行一共有多少张,列同理
我只要得到这个合成好的bitmap就OK了
我现在是想一块一块的画到canvas上面,但是canvas要先初始化一个bitmap这个没法确定啊
ako312 2011-11-09
  • 打赏
  • 举报
回复
这个好玩,view里重写ondraw

每张图要拼到什么位置能不能确定呢?

能确定的话就好办
dicky13 2011-11-09
  • 打赏
  • 举报
回复
无语啊。。。。。。。。。。。
加载更多回复(1)

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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