1. 怎樣用java繪圖填充色為透明色
...
非常簡單,最簡單的,
new Color(R,G,B,Alpha)
最後的Aplha就是透明度...
2. java如何設置透明窗體
1打開Java開發工具Eclipse軟體,依次選擇「文件」、「新建」、「項目」,在「新建項目」窗口中選擇「Java項目」,然後點擊「下一步」按鈕。
2在出現的窗體中的「項目名稱」後自定義輸入項目名,然後點擊「完成」按鈕完成項目的創建。
3右擊創建的項目,在右鍵列表中依次選擇「新建」、「類」,在「新建類」窗體中輸入自定義類名,勾選相應復選框,點擊「完成」按鈕完成類的創建。
4首先,做一些初始化窗體的工作,導入javax.swing.JFrame類,實現JFrame的繼承,初始化構造方法頭並在main方法內實例化此類以便做測試。
5下面,在構造方法中創建窗體,導入javax.swing.JButton類,在窗體內加入按鈕,保持按鈕默認的布局方式,最後設置窗體顯示,運行程序查看初始效果。
6運行Java程序後,將出現初始化窗體界面,用戶需關閉窗體做下一步代碼的編寫。
7添加按鈕BTN的ActionListenr()單擊事件,在出現的錯誤中點擊錯誤處,然後自動導入ActionListener類,但是仍然出現錯誤,用戶需再次點擊錯誤處以添加必要的方法實現。
8當用戶解決兩次錯誤後,系統自動導入了所需包和加入了所需單擊事件的必要方法。
9新建setOpacity()方法並在按鈕的單擊事件中調用此方法,然後在此類中作為屬性成員加入JSlider滑塊控制項。
10在新建的setOpacity()方法中添加如下代碼,設置dialog窗體的大小、位置、大小不可改變等屬性,用戶可自定義設置屬性。
11創建JLabel,添加slider滑塊的滑動事件,並在事件中加入方法slider(),當然此方法需要新建,待會再新建,讓我們先把setOpacity()方法中的代碼添加完成。
12繼續在setOpacity()方法中添加代碼,在窗體dialog中加入panel控制項,再將lable和slider加入到panel中。
13在方法slider()中添加代碼,獲取slider的值以改變透明度值,設置滑鼠移入滑塊時的滑鼠指針樣式。
14運行Java程序,並點擊按鈕,然後出現調整透明度的窗體,用戶就可以設置窗體透明度。
3. java 繪圖的時候過濾掉需要透明的顏色,drawImage不行
寫一個色彩濾鏡,把紫色過濾掉。未測試偽代碼如下
{
publicPurpleFilter(){
canFilterIndexColorModel=true;
}
publicintfilterRGB(intx,inty,intrgb){
return((rgb&0xFFFFFF)==0xff00ff?0:rgb;
}
}
ImageFilterpurple_filter=newPurpleFilter();
Imageimg新=createImage(newFilteredImageSource(img老.getSource(),
purple_filter));
把紫內色過濾容成黑色。
4. java的按鈕顏色可以設置為透明的嗎
當然可以,Button透明背景設置方法:
方法1:JButton b1=new JButton();
b1.setOpaque(false);
b1.setColor(new Color(2,2,2)); //此顏色值隨便設置,只起佔位作用,但是回必須加上此句,否則答不會出現透明背景效果。
b1..setIcon(new ImageIcon("bin/filechooser/image/rec.gif"));
方法2:JButton b2=new JButton();
b2.setContentAreaFilled(false); //只須加上此句
b2.setIcon(new ImageIcon("bin/filechooser/image/rec.gif"));
5. 請問java.awt.color能不能設通明度啊
Color 類用於封裝默認 sRGB 顏色空間中的顏色,或者用於封裝由 ColorSpace 標識的任意顏色專空間中的顏色。屬每種顏色都有一個隱式的 alpha 值 1.0,或者有一個在構造方法中提供的顯式的 alpha 值。alpha 值定義了顏色的透明度,可用一個在 0.0 - 1.0 或 0 - 255 范圍內的浮點值表示它。alpha 值為 1.0 或 255 則意味著顏色完全是不透明的,alpha 值為 0 或 0.0 則意味著顏色是完全透明的。在使用顯式的 alpha 值構造 Color 時,或者在獲得某個 Color 的顏色/alpha 分量時,從不將顏色分量預乘 alpha 分量。
java.awt
介面 Transparency
Transparency 介面定義用於實現類的通用透明模式
6. java 圖片如何讓白色變透明
代碼:
packagecom.picture;
importjava.awt.Graphics2D;
importjava.awt.image.BufferedImage;
importjava.io.File;
importjava.io.IOException;
importjava.util.regex.Pattern;
importjavax.imageio.ImageIO;
importjavax.swing.ImageIcon;
importjavax.swing.JOptionPane;
publicclassPicture{
publicstaticvoidconvert(Stringpath){
//TODOAuto-generatedconstructorstub
try{
BufferedImageimage=ImageIO.read(newFile(path));
ImageIconimageIcon=newImageIcon(image);
BufferedImagebufferedImage=newBufferedImage(
imageIcon.getIconWidth(),imageIcon.getIconHeight(),
BufferedImage.TYPE_4BYTE_ABGR);
Graphics2Dg2D=(Graphics2D)bufferedImage.getGraphics();
g2D.drawImage(imageIcon.getImage(),0,0,
imageIcon.getImageObserver());
intalpha=0;
for(intj1=bufferedImage.getMinY();j1<bufferedImage
.getHeight();j1++){
for(intj2=bufferedImage.getMinX();j2<bufferedImage
.getWidth();j2++){
intrgb=bufferedImage.getRGB(j2,j1);
if(colorInRange(rgb))
alpha=0;
else
alpha=255;
rgb=(alpha<<24)|(rgb&0x00ffffff);
bufferedImage.setRGB(j2,j1,rgb);
}
}
g2D.drawImage(bufferedImage,0,0,imageIcon.getImageObserver());
//生成圖片為PNG
StringoutFile=path.substring(0,path.lastIndexOf("."));
ImageIO.write(bufferedImage,"png",newFile(outFile+".png"));
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
(intcolor){
intred=(color&0xff0000)>>16;
intgreen=(color&0x00ff00)>>8;
intblue=(color&0x0000ff);
if(red>=color_range&&green>=color_range&&blue>=color_range)
returntrue;
returnfalse;
}
publicstaticintcolor_range=210;
publicstaticPatternpattern=Pattern.compile("[0-9]*");
publicstaticbooleanisNo(Stringstr){
returnpattern.matcher(str).matches();
}
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
Stringpath=JOptionPane.showInputDialog(null,"請輸入圖片目錄");
if(path==null||!newFile(path).isDirectory()){
JOptionPane.showMessageDialog(null,"輸入目錄有誤!");
return;
}
Stringcolor=JOptionPane.showInputDialog(null,"請輸入色差范圍0~255(建議10~50)");
if(isNo(color)){
color_range=255-Integer.parseInt(color);
Filefile=newFile(path);
String[]files=file.list();
for(inti=0;i<files.length;i++){
Stringext=files[i].substring(files[i].lastIndexOf(".")+1);
if(ext.equals("jpg")){
convert(path+"//"+files[i]);
}
}
JOptionPane.showMessageDialog(null,"轉換完成!");
}else{
JOptionPane.showMessageDialog(null,"輸入的數字有誤!");
}
}
}
7. java swing 的jPanel背景顏色能否設置為透明,代碼怎麼寫
JPanel panel1,panel2;
panel1=new JPanel();
panel2=new JPanel();
panel1.setBackground(Color.green);
panel2.setOpaque(false);//就是這里!!把panel2的背景色設為透明的了
panel1.add(panel2);
可以了吧
8. Java中想要設置面板背景圖片為透明(使用PNG圖片),代碼問題
在JDK6 Update 10以後版本,就有.sun.awt.AWTUtilities這個包了,可惜沒有API,
給個設置透明度的代碼吧
import java.awt.Graphics;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
import com.sun.awt.AWTUtilities;
class Test extends JComponent {
public void paintComponent(Graphics g) {
g.drawLine(20, 105, 690, 105);
g.drawLine(611, 40, 611, 550);
}
Test() {
JButton bt1 = new JButton();
bt1.setBounds(481, 45, 60, 25);
add(bt1);
}
public static void main(String[] args) {
Test t = new Test();
JFrame f = new JFrame("gg");
f.setSize(700, 600);
f.add(t);
AWTUtilities.setWindowOpacity(f, 0.8F); //就是這句
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}