欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

導出Flex組件為jpg圖片

系統 1737 0
前幾天看了lwz7512的 《 基于servlet導出Flex/Flash界面為圖形文件的簡單方法 》,今天有時間就實踐了一下。

1 .使用BitmapData將flex的某個UIComponent轉換為ByteArray
2 .使用JPGEncoder轉換ByteArray。JPGEncoder是corelib( http://code.google.com/p/as3corelib/ ) 的組件。我直接導入corelib.swc卻報錯,幸好有源代碼可以直接使用。
3 .使用URLRequest發送ByteArray到服務端的java servlet
4 .在servlet中使用ImageIO保存圖片或者輸出到response

下面是具體代碼

actionscript 代碼
?
  1. < mx:Application ???
  2. ???? xmlns:mx = "http://www.adobe.com/2006/mxml" ???
  3. ???? layout = "absolute" > ??
  4. ??
  5. ???? < mx:Script > ??
  6. ????????[CDATA[??
  7. ????????????import?mx.controls.Alert;??
  8. ????????????import?mx.core.UIComponent;??
  9. ????????????import?mx.collections.ArrayCollection;??
  10. ????????????import?com.adobe.images.JPGEncoder;??
  11. ??????????????
  12. ????????????[Bindable]??
  13. ????????????public?var? expenses:ArrayCollection ?=? new ?ArrayCollection(??
  14. ????????????????[??
  15. ????????????????????{Month:"Jan",?Profit:2000,?Expenses:1500},??
  16. ????????????????????{Month:"Feb",?Profit:1000,?Expenses:200},??
  17. ????????????????????{Month:"Mar",?Profit:1500,?Expenses:500}??
  18. ????????????????]??
  19. ????????????);??
  20. ??????????????
  21. ????????????public?function?getJPGByteArray(target:UIComponent):ByteArray?{??
  22. ????????????????var?bitmapData?:? BitmapData ?=? new ?BitmapData(target.width,?target.height);??
  23. ????????????????bitmapData.draw(target);???
  24. ??????????????????
  25. ????????????????var?jpg?:? JPGEncoder ?=? new ?JPGEncoder();??
  26. ????????????????var?jpgByteArray?:? ByteArray ?=? jpg .encode(bitmapData);??
  27. ????????????????return?jpgByteArray;??
  28. ????????????}??
  29. ??????????????
  30. ????????????public?function?sendImageByte(target:UIComponent):void?{??
  31. ????????????????var? request:URLRequest ?=? new ?URLRequest("myImage");??
  32. ???????????????? request.contentType ?=? 'applicatoin/octet-stream' ;??
  33. ???????????????? request.data ?=? getJPGByteArray (target);??
  34. ???????????????? request.method ?=? URLRequestMethod .POST;??
  35. ????????????????navigateToURL(request,?"_blank");??
  36. ????????????}??
  37. ????????]]??
  38. ???? </ mx:Script > ??
  39. ??
  40. ???? < mx:Panel ? id = "chartPanel" ? title = "Bar?Chart" ? width = "300" ? height = "400" > ??
  41. ????? < mx:BarChart ? id = "myChart" ? dataProvider = "{expenses}" ? width = "100%" ? height = "100%" > ??
  42. ???????? < mx:verticalAxis > ??
  43. ??????????? < mx:CategoryAxis ???
  44. ???????????????? dataProvider = "{expenses}" ???
  45. ???????????????? categoryField = "Month" ??
  46. ??????????? /> ??
  47. ???????? </ mx:verticalAxis > ??
  48. ???????? < mx:series > ??
  49. ??????????? < mx:BarSeries ???
  50. ???????????????? yField = "Month" ???
  51. ???????????????? xField = "Profit" ???
  52. ???????????????? displayName = "Profit" ??
  53. ??????????? /> ??
  54. ??????????? < mx:BarSeries ???
  55. ???????????????? yField = "Month" ???
  56. ???????????????? xField = "Expenses" ???
  57. ???????????????? displayName = "Expenses" ??
  58. ??????????? /> ??
  59. ???????? </ mx:series > ??
  60. ????? </ mx:BarChart > ??
  61. ????? < mx:Legend ? dataProvider = "{myChart}" /> ??
  62. ????? < mx:Button ? label = "Get?Chart?Image" ? click = "sendImageByte(myChart)" /> ??
  63. ????? < mx:Button ? label = "Get?Panel?Image" ? click = "sendImageByte(chartPanel)" /> ??
  64. ???? </ mx:Panel > ??
  65. ??????
  66. </ mx:Application > ??

這里使用了一個Bar Chart圖表進行實驗,URLRequest的myImage是我的java servlet

java 代碼
?
  1. import ?java.awt.image.BufferedImage;??
  2. import ?javax.imageio.ImageIO;??
  3. import ?org.apache.commons.io.IOUtils;??
  4. ??
  5. public ? class ?ImageServlet? extends ?HttpServlet?{??
  6. ??????
  7. ???? @Override ??
  8. ???? protected ? void ?doGet(HttpServletRequest?arg0,?HttpServletResponse?arg1)? throws ?ServletException,?IOException?{??
  9. ????????doService(arg0,?arg1);??
  10. ????}??
  11. ??
  12. ???? @Override ??
  13. ???? protected ? void ?doPost(HttpServletRequest?arg0,?HttpServletResponse?arg1)? throws ?ServletException,?IOException?{??
  14. ????????doService(arg0,?arg1);??
  15. ????}??
  16. ??
  17. ???? private ? void ?doService(HttpServletRequest?request,?HttpServletResponse?response)? throws ?IOException?{??
  18. ???????? //saveImage(request,?response); ??
  19. ????????printImage(request,?response);??
  20. ????}??
  21. ??????
  22. ???? private ? void ?saveImage(HttpServletRequest?request,?HttpServletResponse?response)? throws ?IOException??{??
  23. ????????String?fileName?=? "D://" ?+?System.currentTimeMillis()?+? ".jpg" ;??
  24. ????????BufferedImage?bufferedImage?=?ImageIO.read(request.getInputStream());??
  25. ???????? if ?(bufferedImage?!=? null )?{??
  26. ????????????ImageIO.write(bufferedImage,? "jpeg" ,? new ?File(fileName));??
  27. ????????}??
  28. ????}??
  29. ??????
  30. ???? private ? void ?printImage(HttpServletRequest?request,?HttpServletResponse?response)? throws ?IOException??{??
  31. ????????response.setContentType( "image/jpeg" );??
  32. ????????response.setHeader( "Content-Length:" ,?String.valueOf(request.getInputStream().available()));??
  33. ??????????
  34. ????????ServletOutputStream?sos?=?response.getOutputStream();??
  35. ????????IOUtils.copy(request.getInputStream(),?sos);??
  36. ????????sos.flush();??
  37. ????????sos.close();??
  38. ????}??
  39. }??

printImage將圖形輸出到response,將會在web瀏覽器中看到圖片。或者你可以使用saveImage保存圖片到服務器。

導出Flex組件為jpg圖片


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产一区二区久久精品 | 久久91精品国产91久久小草 | 亚洲1区| 日本二本三本二区 | 舒淇三级浴室洗澡在线观看 | 一级片一级片一级片一级片 | 日韩网红少妇无码视频香港 | 69式互添免费视频 | 日本午夜大片免费观看视频 | 成人深夜福利视频 | 久久免费精品视频 | 日日摸夜夜添欧美一区 | 一级黄色播放 | 男人天堂中文字幕 | 国精品一区 | 免费在线黄色片 | 久久乐国产精品 | 午夜丰满少妇高清毛片1000部 | 国产精品成人不卡在线观看 | 侮辱丰满美丽的人妻 | 99精品免费久久久久久久久日本 | 国产乱码一区二区三区 | 91视频苹果版 | 青草青草久热精品视频在线网站 | 黄色在线观看 | 99久久婷婷 | 国产一级免费视频 | 看一天影院 理论片 | 国产欧美日本 | 欧美综合成人 | 国产在视频一区二区三区吞精 | 国产精品国产三级国产专区5o | 成人在线精品 | 无码国产精品成人午夜视频 | 欧美久草在线 | 无人精品乱码一区二区三区 | 欧美1级| 欧美日韩一区在线 | 最新一区二区三区 | 三级大片在线观看 | 免费观看成人拍拍拍1000视频 |