Flex - 讓圖片(Image)可以單向放大縮小
只要將 Image 的 maintainAspectRatio property 設為 false,圖片即可單向放大縮小,而不是依照等比例來放大縮小。
另外要設定 scaleContent 的 property 設成 "true" 圖片才能放大縮小。
標籤: Flex | 0 Comments
當您使用 Visual C# . NET 使用 CookieContainer 來維護狀態在 Web 服務
在編寫 WebService 的時候,根據預設值, ASP . NET 工作階段支援之每一個 Web 服務方法已關閉。 您必須明確地啟用工作階段之每一個 Web Service 方法需要工作階段狀態支援。 若要啟用工作階段支援, WebMethod 屬性 (Attribute) 加入 EnableSession 屬性。 如果要執行這項操作,只要於 [WebMethod] 加入 EnableSession Attribute 即可
Example:
[WebMethod(EnableSession = true)]
public int Counter()
{ int count;
if (Session["count"] == null)
{
count = 1;
}
else
{
count = (int)Session["count"] + 1;
}
Session["count"] = count;
return count;
}
標籤: C#, WebService | 0 Comments
PureMVC 文章
From Cairngorm to PureMVC : a quick comparison | Flex My Day
Handling deferred view component creation within the PureMVC framework
PureMVC_Implementation_Idioms_and_Best_Practices.pdf
Flex 框架比較投影片
https://admin.adobe.acrobat.com/_a200985228/p12266504/
標籤: 文件, PureMVC | 0 Comments
使用 BitmapData 來做影像翻轉
水平翻轉:將最上列的像素與最下列的像素做交換, 將第二列的像素與最下列的像素做交換, 將第三列...., 一直做到中間列。
垂直翻轉:做法同上,只是改成最左欄與最右欄交換。
private function getImageBitmapData(image: Image):BitmapData { var bd:BitmapData = Bitmap(image.content).bitmapData; return bd; }
水平翻轉
private function horizontalFlip(event:MouseEvent):void { var bitmapData:BitmapData = getImageBitmapData(img); var rect:Rectangle = new Rectangle(0, 0, bitmapData.width, bitmapData.height); var data:ByteArray = bitmapData.getPixels(rect); var width:int = bitmapData.width; var height:int = bitmapData.height; var arr:Array = new Array(width * height * 4); data.position = 0; for(var y:int = 0; y < height; y++) { for(var x:int = width - 1; x >= 0; x--) { var val:int = data.readInt(); var pos:int = (y * width * 4) + (x * 4); arr[pos + 0] = (val & 0xFF000000) >> 24; arr[pos + 1] = (val & 0x00FF0000) >> 16; //data.readByte(); arr[pos + 2] = (val & 0x0000FF00) >> 8; //data.readByte(); arr[pos + 3] = (val & 0x000000FF); //data.readByte(); } } var b:ByteArray = new ByteArray(); for(var j:int = 0; j < data.length; j++) { b.writeByte(arr[j]); } b.position = 0; bitmapData.setPixels(rect, b); } 垂直翻轉
private function verticalFlip(event:MouseEvent):void { var bitmapData:BitmapData = getImageBitmapData(img); var rect:Rectangle = new Rectangle(0, 0, bitmapData.width, bitmapData.height); var data:ByteArray = bitmapData.getPixels(rect); var width:int = bitmapData.width; var height:int = bitmapData.height; var arr:Array = new Array(width * height * 4); data.position = 0; for(var y:int = height - 1; y >= 0; y--) { for(var x:int = 0; x < width; x++) { var val:int = data.readInt(); var pos:int = (y * width + x) << 2; //在迴圈中,使用 shift 運算子來提升運算效率。 arr[pos + 0] = (val & 0xFF000000) >> 24; arr[pos + 1] = (val & 0x00FF0000) >> 16; //data.readByte(); arr[pos + 2] = (val & 0x0000FF00) >> 8; //data.readByte(); arr[pos + 3] = (val & 0x000000FF); //data.readByte(); } } var b:ByteArray = new ByteArray(); for(var j:int = 0; j < data.length; j++) { b.writeByte(arr[j]); } b.position = 0; bitmapData.setPixels(rect, b); }
標籤: Flex | 0 Comments