0
A
回答
0
在Flex可以使用图像处理来实现所期望的效果 - 参见http://www.insideria.com/2008/03/image-manipulation-in-flex.html:
private var original:BitmapData;
private static const MAX_WIDTH:uint = 2880;
private static var MAX_HEIGHT:uint = 2880;
private function loadImage(url:String):void
{
var request:URLRequest = new URLRequest(url);
var imageLoader:Loader = new Loader();
imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, image_completeHandler);
// add other listeners here
imageLoader.load(request)
}
private function image_completeHandler(event:Event):void
{
var bmd:BitmapData = Bitmap(event.currentTarget.content).bitmapData;
var originalWidth:Number = bmd.width;
var originalHeight:Number = bmd.height;
var newWidth:Number = originalWidth;
var newHeight:Number = originalHeight;
var m:Matrix = new Matrix();
var scaleX:Number = 1;
var scaleY:Number = 1;
if (originalWidth > MAX_WIDTH || originalHeight > MAX_HEIGHT)
{
sx = MAX_WIDTH/originalWidth;
sy = MAX_HEIGHT/originalHeight;
var scale:Number = Math.min(sx, sy);
newWidth = originalWidth * scale;
newHeight = originalHeight * scale;
}
m.scale(scale, scale);
original = new BitmapData(newWidth, , newHeight);
original.draw(bmd, m);
}
旋转 要使用矩阵来旋转你要么创建具有适当参数
var q:Number = 30 * Math.PI/180 // 30 degrees in radians
var m:Matrix = new Matrix(Math.cos(q), Math.sin(q), -1 * Math.sin(q), Math.cos(q));
//or as a shortcut use the rotate method
var m:Matrix = new Matrix();
m.rotate(q) ;
一个新矩阵的图像
当您在Flash Player中旋转某些内容时,它将围绕其注册点旋转。这是默认情况下的左上角。如果你想围绕不同的点旋转它,你需要将它向负方向偏移,做旋转,然后把它放回原来的位置。
var m:Matrix = new Matrix();
// rotate around the center of the image
var centerX:Number = image.width/2;
var centerY:Number = image.height /2;
m.translate(-1 * centerX, -1 * centerY);
m.rotate(q);
m.translate(centerX, centrerY);
翻转 要翻转和图像是2步过程。第一步是将当前的scaleX和/或scaleY乘以-1,第二步是调整x和y的位置。当您翻转并成像时,注册点不会改变,并且其绘制方向相反。为了弥补你需要改变x位置的宽度和y位置的高度。
var m:Matrix = new Matrix();
m.scale(-1, 0); // flip horizontal assuming that scaleX is currently 1
m.translate(image.width, 0); // move its x position by its width to put it in the upper left corner again
相关问题
- 1. 什么是实现这种布局的最佳方式?
- 2. 如何实现这样的布局?
- 3. 这是一个合法的Quicksort实现,它的复杂性是什么?
- 4. 什么是串行复制?为什么它是这样实现的?
- 5. 这是什么加密?任何想法?
- 6. 如何实现这种布局
- 7. 如何用CSS实现这种布局?
- 8. 如何实现这种布局?
- 9. 如何实现这种Android布局?
- 10. 如何用CSS实现这种布局?
- 11. 这是什么叫?以及如何实现它?
- 12. 它是什么以及如何实现这种行为?
- 13. 什么是现代,响应式HTML5布局的理想填充价值?
- 14. 什么是这两种实现
- 15. 算法实现的测试规则,它们是什么?
- 16. 什么是实现这个Javascript循环的正确方法?
- 17. 什么是同步这个事件实现的最佳方法
- 18. 在.Net中实现这个最好的方法是什么?
- 19. 实现这个循环的正确方法是什么?
- 20. 我想用什么布局来获得我想要的GUI?
- 21. 什么是实现run()的好方法?
- 22. 这个错误是什么意思,它为什么会出现?
- 23. 在网站中实现这种PHP/XML功能的理想方式是什么?
- 24. processing.js是实现这个想法的好选择吗?
- 25. 这样的功能背后有什么实用的想法?
- 26. 这是什么LINQ的方法语法,它是一个连接,如果不是,那么它是什么?
- 27. 实现以下自定义布局的最佳方式是什么?
- 28. 我想实现使用jQuery砌体布局的拖放功能
- 29. Android:这是什么样的菜单布局?
- 30. 这是什么:在Rails 3中的respond_with布局标记?
你的问题不清楚让问题更清楚 – ratty 2010-02-10 10:05:46
我正在尝试做类似的事情,闪光灯将计算每个照片尺寸并相应地安排它。 – Hwang 2010-02-10 10:34:18