国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

在GUI控件上放置圖片,并在圖片上輸出半透明文字

2019-11-18 15:21:16
字體:
來源:轉載
供稿:網友

  主要使用到的是java.awt.image.*包,繼續RGBImageFilter類,對圖片的像素進行alpha(透明度)進行修改,下面以applet為例:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.font.*;
import java.awt.image.*;

public class applet6 extends Applet {
MediaTracker mt;
Image img=null;
Image im=null;
ImageFilter imgf=null;
FilteredImageSource fis=null;
public void init() {
img=this.getImage(this.getCodeBase(),"d.jpg");
mt=new MediaTracker(this);
mt.addImage(img,0);
try {
mt.waitForAll(0);
} catch(Exception ex) {System.err.PRintln(ex.toString());}
im=this.createImage(100,100);//建立新的圖片,用于輸入文字,以便接下來進行透明處理
Graphics g2=im.getGraphics();
g2.setFont(new Font("宋體",Font.BOLD,15));
g2.drawString("半透明文字",10,50);
imgf=new myImage(100,100,100);//調用自定義類進行對象構造
fis=new FilteredImageSource(im.getSource(),imgf);//對圖象的源(圖象生產者)進行過濾處理,構造出FilteredImageSource對象實例
im=this.createImage(fis);//通過FilteredImageSource實例生成Image
}

public void paint(Graphics g) {
g.drawImage(img,0,0,this);//畫出圖片
g.drawImage(im,100,100,this);//添加半透明文字
}
}

class myImage extends RGBImageFilter {//抽象類RGBImageFilter是ImageFilter的子類,繼續它實現圖象ARGB的處理
int width=0;
int height=0;
int alpha=0;
public myImage(int width,int height,int alpha) {//構造器,用來接收需要過濾圖象的尺寸,以及透明度
this.canFilterIndexColorModel=true;
//TransparentImageFilter類繼續自RGBImageFilter,它的構造函數要求傳入原始圖象的寬度和高度。該類實現了filterRGB抽象函數,缺省的方式下,該函數將x,y所標識的象素的ARGB值傳入,程序員按照一定的程序邏輯處理后返回該象素新的ARGB值
this.width=width;
this.height=height;
this.alpha=alpha;
}

public int filterRGB(int x,int y,int rgb) {
DirectColorModel dcm=(DirectColorModel)ColorModel.getRGBdefault();
//DirectColorModel類用來將ARGB值獨立分解出來
int red=dcm.getRed(rgb);
int green=dcm.getGreen(rgb);
int blue=dcm.getBlue(rgb);
if(red==255&&green==255&&blue==255)//假如像素為白色,則讓它透明
alpha=0;
return alpha<<24red<<16green<<8blue;//進行標準ARGB輸出以實現圖象過濾
}
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 灵宝市| 永寿县| 巢湖市| 象州县| 威信县| 乌拉特前旗| 宾川县| 怀安县| 方正县| 繁昌县| 铜陵市| 雷州市| 南宁市| 中山市| 金寨县| 大同市| 曲周县| 绥德县| 宜章县| 九江县| 莆田市| 行唐县| 夹江县| 长兴县| 喀喇沁旗| 芒康县| 广昌县| 马山县| 绥芬河市| 益阳市| 自治县| 宁波市| 黄梅县| 三穗县| 亚东县| 凌海市| 德州市| 沂南县| 长乐市| 策勒县| 峨眉山市|