Project1

标题: 求旋转bitmap的方法 [打印本页]

作者: fux2    时间: 2011-10-9 22:50
标题: 求旋转bitmap的方法
本帖最后由 fux2 于 2011-10-9 22:51 编辑

只要可以90度270度旋转就够了。
因为我要做的是从一张杂乱的图之中抽出一部分描到新bitmap上,就像拼图一样。
但拼图的一块是被旋转了90度的,于是需要旋转回来。
于是效果就是从一张bitmap中取某rect范围的图像旋转之后描入或保存为新位图。
在此拜谢。dsu_plus_rewardpost_czw
作者: DeathKing    时间: 2011-10-9 23:25
get_pixel()
set_pixel()
能够举一反三吧?
作者: yangff    时间: 2011-10-9 23:59
用Sprite拼吧
作者: fux2    时间: 2011-10-10 00:50
DeathKing 发表于 2011-10-9 23:25
get_pixel()
set_pixel()
能够举一反三吧?

那样效率很低的吧囧,有没有更快的方法呢?
@yangff,这陀图要移动,不可能总要保持两张sprite相对距离吧。那样好蛋疼的。
作者: 匿名    时间: 2011-10-10 04:42
本帖最后由 匿名 于 2011-10-10 04:43 编辑

用动态链接库直接操……咳咳……作内存吧(←凡是RM遇到效率问题的统一大雾解决方案)
作者: 灼眼的夏娜    时间: 2011-10-10 10:55
拼图(切分图片 用blt之类的 (然后旋转精灵(
作者: fux2    时间: 2011-10-10 12:41
灼眼的夏娜 发表于 2011-10-10 10:55
拼图(切分图片 用blt之类的 (然后旋转精灵(

囧,最后生成的图不可以存为一整张bitmap吗,用sprite拼很蛋疼啊囧.
作者: 苏小脉    时间: 2011-10-10 21:21
这个方法操作内存就行了,剩下的是简单的矩阵转置。
作者: lotsofone    时间: 2011-10-10 21:52
本帖最后由 lotsofone 于 2011-10-10 22:16 编辑

另外指定一个viewport,把多个sprite放在这个viewport中,然后移动时就
viewport.ox += 1
viewport.oy += 1
ox增加所有指定这个viewport的sprite就向左移动,oy增加就向上移动。
作者: fux2    时间: 2011-10-10 23:55
lotsofone 发表于 2011-10-10 21:52
另外指定一个viewport,把多个sprite放在这个viewport中,然后移动时就
viewport.ox += 1
viewport.oy +=  ...

我目前就用的这种方法,苏大人的方法虽然好但用但新人想出这么个方法很厉害,就认可新人了。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1