设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2203|回复: 9
打印 上一主题 下一主题

[已经解决] 求旋转bitmap的方法

 关闭 [复制链接]

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42854
在线时间
7623 小时
注册时间
2009-7-6
帖子
13506

开拓者贵宾

跳转到指定楼层
1
发表于 2011-10-9 22:50:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 fux2 于 2011-10-9 22:51 编辑

只要可以90度270度旋转就够了。
因为我要做的是从一张杂乱的图之中抽出一部分描到新bitmap上,就像拼图一样。
但拼图的一块是被旋转了90度的,于是需要旋转回来。
于是效果就是从一张bitmap中取某rect范围的图像旋转之后描入或保存为新位图。
在此拜谢。
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托

Lv3.寻梦者

梦石
0
星屑
1210
在线时间
1564 小时
注册时间
2008-7-30
帖子
4418

贵宾

2
发表于 2011-10-9 23:25:58 | 只看该作者
get_pixel()
set_pixel()
能够举一反三吧?

See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更
回复

使用道具 举报

Lv2.观梦者

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
帖子
6562

烫烫烫开拓者

3
发表于 2011-10-9 23:59:47 | 只看该作者
用Sprite拼吧
回复

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42854
在线时间
7623 小时
注册时间
2009-7-6
帖子
13506

开拓者贵宾

4
 楼主| 发表于 2011-10-10 00:50:39 | 只看该作者
DeathKing 发表于 2011-10-9 23:25
get_pixel()
set_pixel()
能够举一反三吧?

那样效率很低的吧囧,有没有更快的方法呢?
@yangff,这陀图要移动,不可能总要保持两张sprite相对距离吧。那样好蛋疼的。
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复

使用道具 举报

乌有君
5
乌有君  发表于 2011-10-10 04:42:21
本帖最后由 匿名 于 2011-10-10 04:43 编辑

用动态链接库直接操……咳咳……作内存吧(←凡是RM遇到效率问题的统一大雾解决方案)
回复

使用道具 举报

Lv1.梦旅人

炎发灼眼的讨伐者

梦石
0
星屑
50
在线时间
1707 小时
注册时间
2007-8-4
帖子
904
6
发表于 2011-10-10 10:55:28 | 只看该作者
拼图(切分图片 用blt之类的 (然后旋转精灵(
RMXP&RMVX通用Web化完成- -|||
回复

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42854
在线时间
7623 小时
注册时间
2009-7-6
帖子
13506

开拓者贵宾

7
 楼主| 发表于 2011-10-10 12:41:48 | 只看该作者
灼眼的夏娜 发表于 2011-10-10 10:55
拼图(切分图片 用blt之类的 (然后旋转精灵(

囧,最后生成的图不可以存为一整张bitmap吗,用sprite拼很蛋疼啊囧.
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
115
在线时间
953 小时
注册时间
2007-4-25
帖子
805
8
发表于 2011-10-10 21:21:25 | 只看该作者
这个方法操作内存就行了,剩下的是简单的矩阵转置。
[email protected]:~> repeat 1 fortune
Matz is nice, so we are nice.
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
21 小时
注册时间
2011-8-22
帖子
13
9
发表于 2011-10-10 21:52:08 | 只看该作者
本帖最后由 lotsofone 于 2011-10-10 22:16 编辑

另外指定一个viewport,把多个sprite放在这个viewport中,然后移动时就
viewport.ox += 1
viewport.oy += 1
ox增加所有指定这个viewport的sprite就向左移动,oy增加就向上移动。

评分

参与人数 1星屑 +18 收起 理由
R-零 + 18 没有理由,纯浇水

查看全部评分

回复

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42854
在线时间
7623 小时
注册时间
2009-7-6
帖子
13506

开拓者贵宾

10
 楼主| 发表于 2011-10-10 23:55:59 | 只看该作者
lotsofone 发表于 2011-10-10 21:52
另外指定一个viewport,把多个sprite放在这个viewport中,然后移动时就
viewport.ox += 1
viewport.oy +=  ...

我目前就用的这种方法,苏大人的方法虽然好但用但新人想出这么个方法很厉害,就认可新人了。
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-1-8 05:05

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表