2013/10/26

Flex:: MulitDPIBitmapSourceにセットしても反映されない対処

Flex 4.10:: カスタムのItemRendererでoverrideした「set data 」function内でMultiDPIBitmapSourceの値をセットしても結果が反映されません。
この記事の方も同じような問題でした。http://forums.adobe.com/thread/1070289

対処としては、MultiDPIBitmapSourceは使わずに、自前でデバイスのDPI判断をして対応するビットマップ画像をImageのsourceにセットします。

■ ソースコード
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
private function setDPIImage(a_strFileName:String):void
{
 var strImagePath:String;
    
 switch (FlexGlobals.topLevelApplication.runtimeDPI)
 {
  case DPIClassification.DPI_160:
   strImagePath = "assets/images/icon_" + a_strFileName + "_24.png";
   break;
  case DPIClassification.DPI_240:
   strImagePath = "assets/images/icon_" + a_strFileName + "_32.png";
   break;
  case DPIClassification.DPI_320:
   strImagePath = "assets/images/icon_" + a_strFileName + "_48.png";
   break;
  case DPIClassification.DPI_480:
   strImagePath = "assets/images/icon_" + a_strFileName + "_64.png";
   break;
 }
    
 //set the image source
 img.source = strImagePath;
}



http://forums.adobe.com/thread/1070289

0 件のコメント:

コメントを投稿