1
我有我使用的存儲圖庫應用單獨的圖像信息定製Image
類:是否有更簡單的方法來管理多個位圖(尺寸)的位圖?
package mtm.test
{
public class Image extends Object
{
public var id:int;
public var filename:String;
public var title:String;
public var description:String;
public var thumbExists:int;
public var mediumExists:int;
public var fullExists:int;
}
}
要管理的位圖的三種不同尺寸,我已經創建了下面的基類(BitmapType
)和三個子 - 班(BitmapThumbnail
,BitmapMediumSize
,BitmapFullSize
):
package mtm.test
{
import flash.display.Bitmap;
import flash.display.BitmapData;
public class BitmapType extends Bitmap
{
public function BitmapType(bitmapData:BitmapData = null, pixelSnapping:String = 'auto', smoothing:Boolean = false)
{
super(bitmapData, pixelSnapping, smoothing);
}
}
}
package mtm.test
{
import flash.display.BitmapData;
public class BitmapFullSize extends BitmapType
{
public function BitmapFullSize(bitmapData:BitmapData = null, pixelSnapping:String = 'auto', smoothing:Boolean = false)
{
super(bitmapData, pixelSnapping, smoothing);
}
}
}
package mtm.test
{
import flash.display.BitmapData;
public class BitmapMediumSize extends BitmapType
{
public function BitmapMediumSize(bitmapData:BitmapData = null, pixelSnapping:String = 'auto', smoothing:Boolean = false)
{
super(bitmapData, pixelSnapping, smoothing);
}
}
}
package mtm.test
{
import flash.display.BitmapData;
public class BitmapThumbnail extends BitmapType
{
public function BitmapThumbnail(bitmapData:BitmapData = null, pixelSnapping:String = 'auto', smoothing:Boolean = false)
{
super(bitmapData, pixelSnapping, smoothing);
}
}
}
這是我將如何實現以上:
var image:Image = new Image();
//I would be loading external bitmaps but for the example I'll just create new ones:
image[BitmapThumbnail] = new BitmapThumbnail(new BitmapData(65,65,false,0x000000));
image[BitmapMediumSize] = new BitmapMediumSize(new BitmapData(200,200,false,0x000000));
image[BitmapFullSize] = new BitmapFullSize(new BitmapData(500,500,false,0x000000));
有沒有更簡單的方法來做到這一點?我覺得在BitmapType
子類中有很多重複的代碼。
至少,這有助於避免一堆的for循環試圖找到所請求的大小,似乎移植到那裏需要更多或更少的位圖的大小的情況。
這是一個好主意。我的意思是「尺寸」中的尺寸,但我應該更具體。我想可以肯定的是,較大的(尺寸)圖像將具有較大的文件大小,所以這可能會起作用! – 2010-07-22 15:45:01
@letseatfood:可以做些如'尺寸= [{寬度:50,高度:50},{寬度:100,尺寸:100},...]'和讓'size'簡單地是一個索引到該陣列。 – back2dos 2010-07-22 16:18:21
@ back2dos - 您的解決方案是真正偉大的,但由於字節大小或維度不會爲我的工作指標(尺寸是可變的),我結束了創建一個'尺寸:Object'財產在我的'Image'類,然後是擴展Object的'ImageSizes'類。然後我在'ImageSizes'中創建了一些常量,並使用這些常量來索引不同的圖像大小。 – 2010-07-22 17:43:51