当前位置:  技术问答>java相关

如何对图片加入半透效果的文字?

    来源: 互联网  发布时间:2017-05-01

    本文导语:  原来我已经能够对图片写入一行文字,但是这样子会影响观看图片的效果,所以希望能够做到对图片加入半透明效果的文字,既让文字留在上边,又不会影响图片的观看效果,请教谁会,谢谢! | ...

原来我已经能够对图片写入一行文字,但是这样子会影响观看图片的效果,所以希望能够做到对图片加入半透明效果的文字,既让文字留在上边,又不会影响图片的观看效果,请教谁会,谢谢!

|
[原创]代码如下,记得结贴:
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);
  im=this.createImage(fis);
}

public void paint(Graphics g) {
g.drawImage(img,0,0,this);
g.drawImage(im,100,100,this);
}
}

class myImage extends RGBImageFilter {
int width=0;
int height=0;
int alpha=0;
public myImage(int width,int height,int alpha) {
this.canFilterIndexColorModel=true;
this.width=width;
this.height=height;
this.alpha=alpha;
}

public int filterRGB(int x,int y,int rgb) {
DirectColorModel dcm=(DirectColorModel)ColorModel.getRGBdefault();
int red=dcm.getRed(rgb);
int green=dcm.getGreen(rgb);
int blue=dcm.getBlue(rgb);
if(red==255&&green==255&&blue==255)
  alpha=0;
else {
  System.out.println("red:"+red+"|green:"+green+"|blue:"+blue+"|alpha:"+alpha);
  alpha=50;
}
return alpha

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。














站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3