<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 5  文章 - 3  trackbacks - 0
    <2006年12月>
    262728293012
    3456789
    10111213141516
    17181920212223
    24252627282930
    31123456

    常用鏈接

    留言簿(3)

    隨筆檔案

    文章檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    load進一個圖片,如果對它進行放大縮小呢? 查找了很多地方的資料,找到以下的方法可以解決放大縮小圖片問題: public static ImageIcon imageIconZoom(ImageIcon orgImageIcon, int newWidth, int newHeight) { BufferedImage tag = new BufferedImage(newWidth, newHeight, BufferedImage.TYPE_INT_ARGB); tag.getGraphics().drawImage(orgImageIcon.getImage(), 0, 0, newWidth, newHeight, null); return new ImageIcon(tag); } 如何對圖片著色呢? static final float CRITICAL_BAND_MATRIX[][] = { { 1.0f, 0.0f, 0.0f , 0.0f}, { 0.0f, 0.0f, 0.0f , 0.0f}, { 0.0f, 0.0f, 0.0f,0.0f }, { 1.0f, 0.0f, 0.0f, 0.0f } }; static final float MAJOR_BAND_MATRIX[][] = { { 1.0f, 0.0f, 0.0f , 0.0f}, { 0.0f, 0.5f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f , 0.0f}, { 1.0f, 0.5f, 0.0f, 0.0f } }; static final float MINOR_BAND_MATRIX[][] = { { 1.0f, 0.0f, 0.0f , 0.0f}, { 0.0f, 1.0f, 0.0f , 0.0f}, { 0.0f, 0.0f, 0.0f, 0.0f } , { 1.0f, 1.0f, 0.0f, 0.0f }}; static final float WARNING_BAND_MATRIX[][] = { { 0.5f, 0.0f, 0.0f , 0.0f}, { 0.0f, 0.0f, 0.0f , 0.0f}, { 0.0f, 0.0f, 1.0f , 0.0f} , { 0.5f, 0.0f, 1.0f, 0.0f }}; static final float CLEAR_BAND_MATRIX[][] = { { 0.0f, 0.0f, 0.0f, 0.0f }, { 0.0f, 1.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 1.0f, 0.0f }, { 0.0f, 1.0f, 1.0f, 0.0f } }; static final float UNKNOWN_BAND_MATRIX[][] = { { 0.0f, 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f , 0.0f}, { 0.0f, 0.0f, 1.0f, 0.0f } , { 0.0f, 0.0f, 1.0f, 0.0f }}; public static ImageIcon ColorImage(ImageIcon orgImage, int alarmStatus ){ float[][] targetMatrix ; switch(alarmStatus){ case CommonConstants.ALARM_UNKNOWN: targetMatrix = UNKNOWN_BAND_MATRIX; break; case CommonConstants.ALARM_CLEAR: targetMatrix = CLEAR_BAND_MATRIX; break; case CommonConstants.ALARM_MINOR: targetMatrix = MINOR_BAND_MATRIX; break; case CommonConstants.ALARM_MAJOR: targetMatrix = MAJOR_BAND_MATRIX; break; case CommonConstants.ALARM_CRITICAL: targetMatrix = CRITICAL_BAND_MATRIX; case CommonConstants.ALARM_WARNING: targetMatrix = WARNING_BAND_MATRIX; break; default: targetMatrix = UNKNOWN_BAND_MATRIX; } BufferedImage b1 ; BufferedImage biSrc = new BufferedImage(orgImage.getIconWidth(), orgImage.getIconHeight(), BufferedImage.TYPE_INT_ARGB); // biSrc.getGraphics().setColor(Color.white); // biSrc.getGraphics().fillRect(0, 0, orgImage.getIconWidth(), orgImage.getIconHeight()); biSrc.getGraphics().drawImage(orgImage.getImage(),0,0,null); BufferedImage biTar = new BufferedImage(orgImage.getIconWidth(), orgImage.getIconHeight(), BufferedImage.TYPE_INT_ARGB); Raster srcRaster = biSrc.getRaster(); WritableRaster dstRaster = (WritableRaster) biTar.getRaster(); BandCombineOp bandCombineOp = new BandCombineOp(targetMatrix, null); bandCombineOp.filter(srcRaster, dstRaster); b1 = biTar; return new ImageIcon(b1); } 其中值得一說,卻又說不清楚的地方是:BufferedImage.TYPE_INT_ARGB, 為什么要用TYPE_INT_ARGB,而不用TYPE_INT_RGB,之前我是用的TYPE_INT_RGB,而且matrix也是3*3的一個矩陣,后來發現,著色前,圖片透明的地方,著色后,變成了黑色的了,于是猜想ARGB中的A應該是alphe的意思,就摸索構造了矩陣,并且著了實驗,用是能用,不知道對不對啊。。。。
    posted on 2006-12-29 16:38 托托姆 閱讀(951) 評論(1)  編輯  收藏

    FeedBack:
    # re: java 中處理圖片的操作(原創) 2006-12-29 17:01 BeanSoft
    A 是透明的意思, 沒錯的.
    參考偶的文章:http://www.tkk7.com/beansoft/ Java 中收取郵件并自動縮放圖片的代碼(原創)  回復  更多評論
      

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲国产成人久久一区WWW| 免费看少妇作爱视频| 狠狠亚洲狠狠欧洲2019| 亚洲av午夜国产精品无码中文字 | 最近免费mv在线观看动漫| 无码欧精品亚洲日韩一区夜夜嗨| 亚洲妇女无套内射精| 在线免费观看一级毛片| 亚洲人成色77777在线观看| 成**人免费一级毛片| 亚洲熟妇少妇任你躁在线观看| 无码人妻一区二区三区免费| 亚洲中文无码mv| 麻豆成人精品国产免费| 亚洲国产成人AV网站| 免费a级黄色毛片| 久久久久久噜噜精品免费直播 | 亚洲午夜无码久久| 免费无码黄网站在线观看| 看一级毛片免费观看视频| 亚洲精品视频免费| 国产午夜无码精品免费看| 亚洲国产精品嫩草影院在线观看| 欧洲人免费视频网站在线| 亚洲av日韩av无码av| 日本高清免费不卡在线| eeuss影院www天堂免费| 亚洲va在线va天堂va不卡下载| 精品福利一区二区三区免费视频| 亚洲一线产品二线产品| 亚洲av手机在线观看| 97人妻精品全国免费视频| www.亚洲日本| 亚洲无码高清在线观看| 蜜桃成人无码区免费视频网站| 亚洲乱妇熟女爽到高潮的片| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 久久国产免费福利永久| 爱情岛论坛免费视频| 亚洲AV日韩AV高潮无码专区| 在线a毛片免费视频观看|