- 浏览: 599788 次
- 性别:
- 来自: 广州
-
文章分类
最新评论
-
wzh051527:
我是大四实习生一个,自我感觉技术能力在第三年。。唯一不明白,为 ...
十年技术,不要再迷茫 -
room_bb:
.hrl文件怎么加入到编译规则里面?比如:pp.hrl文件-d ...
Erlang中用的makefile的一点解释 -
吉米家:
感觉帆软报表的flash打印就很不错哇,特别好用
JSP 实现报表打印 -
雪碧爱芬达:
苦逼程序员的辛酸反省与总结 -
mlyjxx:
...
十年技术,不要再迷茫
[url]http://bbs.blueidea.com/viewthread.php?tid=2915069
[/url]
最近做游戏,发现flash里位图是无法使用scale9Grid这个属性,,,没办法,只好自己写了一个,,,原理很简单,,用程序把位图切成九块,,装里一个Sprite里,然后重写Sprite的width和height这两个方法,根据改变大小来重新设置位图的各个位置…这样就实现了位图的不变形缩放….
ps:近期我会把以前做的一些小东西的源码放出来,供大家学习使用…
严重声明,,,
发现好多人都不知道这个问题,,用FLASH编译,位图使用scale9Grid也没用,
/** * @project dynasty * @author 郭晟 or 猪哥靓 * @copyright * @document * @history * create 2009-2-20 * 位图Scale9Grid功能 **/ package { import flash.display.Sprite; import flash.display.Bitmap; import flash.display.BitmapData; import flash.geom.Rectangle; import flash.geom.Point; public class BitmapScale9Grid extends Sprite { private var source : Bitmap; private var scaleGridTop : Number; private var scaleGridBottom : Number; private var scaleGridLeft : Number; private var scaleGridRight : Number; private var leftUp : Bitmap; private var leftCenter : Bitmap; private var leftBottom : Bitmap; private var centerUp : Bitmap; private var center : Bitmap; private var centerBottom : Bitmap; private var rightUp : Bitmap; private var rightCenter : Bitmap; private var rightBottom : Bitmap; private var _width : Number; private var _height : Number; private var minWidth : Number; private var minHeight : Number; public function BitmapScale9Grid(source:Bitmap, scaleGridTop:Number, scaleGridBottom:Number, scaleGridLeft:Number, scaleGridRight:Number ) { this.source = source; this.scaleGridTop = scaleGridTop; this.scaleGridBottom = scaleGridBottom; this.scaleGridLeft = scaleGridLeft; this.scaleGridRight = scaleGridRight; init(); } private function init() : void { _width = source.width; _height = source.height; leftUp = getBitmap(0, 0, scaleGridLeft, scaleGridTop); this.addChild(leftUp); leftCenter = getBitmap(0, scaleGridTop, scaleGridLeft, scaleGridBottom - scaleGridTop); this.addChild(leftCenter); leftBottom = getBitmap(0, scaleGridBottom, scaleGridLeft, source.height - scaleGridBottom); this.addChild(leftBottom); centerUp = getBitmap(scaleGridLeft, 0, scaleGridRight - scaleGridLeft, scaleGridTop); this.addChild(centerUp); center = getBitmap(scaleGridLeft, scaleGridTop, scaleGridRight - scaleGridLeft, scaleGridBottom - scaleGridTop); this.addChild(center); centerBottom = getBitmap(scaleGridLeft, scaleGridBottom, scaleGridRight - scaleGridLeft, source.height - scaleGridBottom); this.addChild(centerBottom); rightUp = getBitmap(scaleGridRight, 0, source.width - scaleGridRight, scaleGridTop); this.addChild(rightUp); rightCenter = getBitmap(scaleGridRight, scaleGridTop, source.width - scaleGridRight, scaleGridBottom - scaleGridTop); this.addChild(rightCenter); rightBottom = getBitmap(scaleGridRight, scaleGridBottom, source.width - scaleGridRight, source.height - scaleGridBottom); this.addChild(rightBottom); minWidth = leftUp.width + rightBottom.width; minHeight = leftBottom.height + rightBottom.height; } private function getBitmap(x:Number, y:Number, w:Number, h:Number) : Bitmap { var bit:BitmapData = new BitmapData(w, h); bit.copyPixels(source.bitmapData, new Rectangle(x, y, w, h), new Point(0, 0)); var bitMap:Bitmap = new Bitmap(bit); bitMap.x = x; bitMap.y = y; return bitMap; } override public function set width(w : Number) : void { if(w < minWidth) { w = minWidth; } _width = w; refurbishSize(); } override public function set height(h : Number) : void { if(h < minHeight) { h = minHeight; } _height = h; refurbishSize(); } private function refurbishSize() : void { leftCenter.height = _height - leftUp.height - leftBottom.height; leftBottom.y = _height - leftBottom.height; centerUp.width = _width - leftUp.width - rightUp.width; center.width = centerUp.width; center.height = leftCenter.height; centerBottom.width = center.width; centerBottom.y = leftBottom.y; rightUp.x = _width - rightUp.width; rightCenter.x = rightUp.x; rightCenter.height = center.height; rightBottom.x = rightUp.x; rightBottom.y = leftBottom.y; } } }
发表评论
-
as3 Loader 加载资源后内存泄露无法释放的问题。
2014-06-21 10:30 691as3 Loader 加载资源后内存泄露无法释放的问题。 ... -
as3判断flash player版本的函数
2014-06-10 20:35 853//判断当前版本是否高于9.0.115.0为例子. pr ... -
CSS 中文字体的英文名称 (simhei, simsun) 宋体 微软雅黑
2014-04-03 15:25 1057华文细黑:STHeiti Light [STXihei]华文 ... -
as3.0的垃圾回收机制
2013-09-07 14:02 1549还是同样的博客,还是同样的作者(Daniel Sidhio ... -
AIR程序多开
2013-09-07 13:55 1016AIR应用通常不能像QQ那样能进行多开操作。为了让一个用AI ... -
starling性能优化总结
2013-07-22 14:06 1483在项目开发的过程中总结了一下starling的性能优化方案: ... -
AS3 Socket从零开始
2013-07-22 12:54 1115大家如果想学AS3 Socket直接在百度里搜一下,会找到很 ... -
绕开AS3安全沙箱 跨域加载SWF
2013-07-11 12:53 923AS3的安全沙箱的确是 ... -
解决AS3在ie中初始化时stageWidth和stageHeight为0
2013-06-14 09:23 1039先看下面的一段脚本,这是比较经典的初始化脚本: pac ... -
动态获取swc中的类
2013-05-25 10:32 987想通过代码生成,来获取swc中的类,并且可以作为普通类正常使 ... -
AS3 中字符串的format功能实现
2013-05-25 10:19 848使用C#的朋友都知道,string.Format();还是挺 ... -
总结调用Flash的几种方法
2013-05-02 16:18 1684一、Adobe 提供的方法 <object wi ... -
Flash3D错误集锦
2013-05-02 14:03 952VerifyError: Error #1014: 无法找到 ... -
使用scale拉伸之后的坐标问题
2013-04-12 09:38 1308最近发现论坛多了很多 ... -
30个实用的网页设计工具
2013-03-20 09:58 844作为一位网页设计师或开发者,你一直需要搜寻获取强大的网页设计 ... -
如何成为强大的程序员?
2013-03-11 11:27 736Aaron Stannard是新创公 ... -
漫谈重构
2013-03-11 11:09 886因为工作内容的原因, ... -
AS3使用谷歌API生成二维码
2012-12-10 16:24 1373二维码在新闻杂志,网站,网络广告,电视广告等地方随处可见 ... -
OOP的聚合原则
2012-12-10 16:21 940什么是聚合? 聚合可以很好地表达对象是什么和做 ... -
压缩速率追踪
2012-11-02 14:16 1490Flash Player 11.3添加了一个压缩和解压B ...
相关推荐
在实际开发中,首先需要根据位图内容设定九宫格的切割位置,这通常可以通过图形编辑软件完成,然后在代码中使用`BitmapScale9Grid`和`BitmapRepeatUtil`类来处理位图数据。在组件的皮肤中,通过指定位图的九宫格属性...
帮助flash内实现图片的9宫格缩放,位图九宫格缩放,ActionScript3代码实现。
4. **创建Bitmap对象**:为每个位图数据创建一个Bitmap对象,这些对象将在舞台上用作九宫格的元素。 5. **布局与拉伸**:根据目标尺寸,计算每个Bitmap对象的新尺寸和位置。对于边缘和角落的Bitmap,保持它们的原始...
【位图九宫格】是一种常见的图像处理技术,主要用于创建响应式布局或适应不同尺寸屏幕的设计。在网页设计和移动应用开发中,位图九宫格通常被用来展示图片,如用户头像、商品缩略图等,使它们在不同设备上能够自适应...
在这个场景中,我们关注的是一个使用J2ME技术开发的“九宫格小游戏”。这个游戏集成了背景音乐播放和积分存储功能,这展示了J2ME在游戏开发中的应用及其多媒体支持。 ### 1. J2ME基础知识 J2ME由几个配置和 ...
通过JavaScript动态获取浏览器窗口的宽度和高度,然后按照一定的比例调整Canvas的尺寸,从而保证九宫格在不同设备上的显示效果。同时,对于触屏设备的兼容性也进行了特别的优化。 6. 安全性问题 在实际的手机九宫格...
"自动处理并缩小九宫格图片类似9图"的标题和描述指向了一种特定的图像处理技术,这种技术常用于Android应用开发,也适用于网页设计。9-patch(或称.9图)是一种图像格式,它允许开发者创建可伸缩的图片,以适应不同...
本文主要讲述如何使用JavaScript和Canvas技术开发一个九宫格展示图片的小程序。通过这段内容,我们可以学习到如何将一张图片分割成九宫格,并以网格的形式展示出来。同时,我们还可以学到如何为这个九宫格添加动画...
综合以上分析,这个项目是一个用C++编写的九宫格2(八数码)游戏,它利用API来实现游戏逻辑,特别是通过全局择优搜索算法来寻找解决滑动拼图问题的最短路径。开发者可以通过这个游戏学习到如何使用图形界面、处理用户...
在九宫格拼图游戏中,可能使用了LinearLayout、GridLayout或RelativeLayout等布局管理器来组织9个小方块的显示位置。 8. **触摸事件处理**:为了响应用户的触摸操作,游戏需要监听并处理Android系统的MotionEvent。...
首先,要实现九宫格密码界面,我们需要创建一个自定义View,因为Android的五大布局(LinearLayout, RelativeLayout, FrameLayout, GridLayout, ConstraintLayout)无法直接满足九宫格中每个点距离相等且围成正方形的...
位图置换飘忽效果在Flash编程中是一种常见的视觉特效,主要通过改变图像像素的位置来创造出动态、流动或飘忽不定的视觉感受。这种效果通常应用于游戏、动画、网页设计等领域,能够增加用户的交互体验和视觉吸引力。...
9格切片位图脚本 9格切片位图脚本 9格切片位图脚本
自已总结,觉得对于Flash文档中大量图片的保真...可以对Flash IDE中所有打开的文档一键操作,也可以仅对当前文档操作,结果是将位图转为无损格式并且平滑。有需要的朋有看看。因为我的米米不多,所以此文档要宰你2分。
11. **删除对象**:可能指的是释放不再使用的位图对象,如HBITMAP,以回收系统资源。 12. **取屏幕句柄**:获取屏幕的设备上下文(Device Context,DC),这是Windows中用于图形输出的一个重要概念,用于绘制到屏幕...
2. 位图复用:尽量使用相同的位图资源创建多个相似的元件,以减少项目中的重复位图,提高程序效率。 3. 位图分辨率:根据触摸屏的分辨率选择合适的位图尺寸,过大或过小都可能影响显示效果。 总结,MCGS位图是构建...
位图是图形设计中的基本元素,它可以是PNG、JPG或GIF等格式,而将位图加载到Flash中,可以极大地提高程序的灵活性和性能。 首先,我们需要了解AS3.0中的Bitmap类和BitmapData类。Bitmap类用于表示位图对象,它可以...
在本文中,我们将深入探讨如何在Visual Studio 2010环境下使用Microsoft Foundation Class (MFC) 库实现一个功能,即"位图定时移动"。这个功能涉及到图像处理、事件处理以及定时器机制,是GUI编程中的一个重要实践。...
综合以上特性,我们可以使用Bitmap将矢量图动画缓存为位图动画,多个相同的对象共用同一份BitmapData数据,这样既可以大幅降低cpu占用,又可以节省内存,同时还避免了直接在库里面使用图片而造成flash文件变大的...