嗯,問題可能很簡單,但我無法弄清楚。我有一個圖像加載到BitmapData。現在我想從文本輸入中獲取文本並將其放在BitmapData上。基本上它是在BitmapData上繪製文本,並將結果作爲另一個BitmapData獲取,該BitmapData將包含原始BitmapData,並在指定位置上繪製文本。在flex中實現這一點的最佳方式是什麼?在Flex中的BitmapData上繪製文本
回答
爲了把一個位圖中的文本,你可以這樣做:
var channelName:TextField = new TextField();
channelName.textColor=0x000000;
channelName.antiAliasType = AntiAliasType.NORMAL;
channelName.alpha=1.0;
var txtFormat:TextFormat = new TextFormat("SansSerif",14,0x000000,true);
channelName.setTextFormat(txtFormat);
var bitmapdata:BitmapData = new BitmapData(
channelName.width, channelName.height, true, 0x000000);
bitmapdata.draw(channelName);
謝謝,它的工作原理。但是,無論我做什麼,文本都會出現在Bitamp圖像的左上角(0,0),如何讓它出現在我想要的Bitmapdata圖像上? – redGREENblue 2011-05-23 19:57:55
您可以使用矩陣和翻譯方法:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/geom/Matrix.html – alicia 2011-05-23 23:03:04
你不能在每個說法上畫出位圖數據,但是你可以從數據中編寫它。由於您擁有BitmapData,因此將其更改爲位圖(var bitmap:Bitmap = new Bitmap(bitmapData);
)很容易,然後將其添加爲圖像的源。
既然你在舞臺上有一個實際的圖像,你現在可以使用你喜歡的東西(文本,標籤,textarea等)添加上面的文本,然後你可以在圖像的尺寸上做一個Bitmap.draw
像素信息返回到BitmapData(在Bitmap.bitmapData下)。
聽起來不錯。不過,我對這種方法的要求可能存在問題(但我不確定)。 BitmapData具有較大的尺寸,當我將其加載到圖像中時,它會縮小以適應圖像尺寸。如果我將此位圖轉換爲BitmapData並保存它不是圖像的維度(即按比例縮小的圖像),那麼在這種情況下如何保留原始維度? – redGREENblue 2011-05-20 21:11:11
您嘗試添加圖像控件但未設置控件的寬度和高度嗎? – michael 2011-05-20 23:42:01
是的。但這裏的問題是運行時加載不同映像的應用程序要求。因此,某些圖像可能具有較高的分辨率,需要按比例縮小以適合圖像區域,但保存圖像時應將其保存在原始尺寸中。如果我沒有設置圖像的寬度/高度,如果我能夠正確解釋它,則更高尺寸的圖像將在顯示區域內耗盡。我可以使用哪種解決方法? – redGREENblue 2011-05-21 18:01:57
- 1. 在BitmapData上繪製樣式文本
- 2. 在小屏幕上Flex ImageCapture/BitmapData限制?
- 3. 如何在BitmapData上繪製字符串
- 4. 在BitmapData上繪製形狀或創建其圖形上下文
- 5. flex/as3 - 如何強制BitmapData平滑無法繪製
- 6. 在flex中的線圖上繪製點
- 7. 在繪製位圖上繪製文本
- 8. 在SurfaceView上繪製文本
- 9. Flex ArgumentError:Error#2015:Invalid BitmapData
- 10. pygame:在屏幕上繪製文本之前繪製文本
- 11. 在Flex移動上更快的繪製
- 12. 如何添加一個BitmapData或繪製一個BitmapData到屏幕?
- 13. 如何在透明BitmapData上繪製透明圖形?
- 14. Flex:在圖像上繪製橢圓?
- 15. flex如何在圖像上繪製
- 16. 在MonoMac中繪製文本
- 17. 在firemonkey中繪製文本
- 18. 在ImageView中繪製文本
- 19. 在LibGDX中繪製文本
- 20. 在.NET中繪製文本
- 21. 在3D中繪製文本
- 22. 如何從Flex中的本地圖像獲取BitmapData?
- 23. Flex:將圖像嵌入到BitmapData中?
- 24. 在jpg圖像上繪製文本android
- 25. 在CALayer上繪製可滾動文本
- 26. 在形狀上繪製文本
- 27. VB.NET在控件上方繪製文本
- 28. 在矩形上繪製文本
- 29. 在畫布上繪製文本
- 30. iOS:在MKMapView上繪製文本
你們是不是去水印/修改原始圖像本身或只是顯示在你的應用程序中的圖像上一些文字? – 2011-05-20 20:34:00
不完全水印。我只想將文本添加到BitmapData上,並將其保存爲全新的圖像(包括圖像和文本)。所以是的,通過添加文本來修改原始圖像。 – redGREENblue 2011-05-20 20:38:47