本文目錄一覽:
- 1、解析下這個生成圖片的Java代碼
- 2、怎樣用JAVA編寫一個小應用程序,輸出一張圖片或自己的照片
- 3、java如何生成圖片
- 4、我想把一個黑白的線條的手繪圖片轉換成一個矩陣存儲,黑用0,白用1,請問用java如何實現
- 5、JAVA setRGB使圖片變白
解析下這個生成圖片的Java代碼
1.調用”images”文件夾里的文件放在ImageIcon里顯示2.在windows下面顯示正常Java在圖形處理時調用了本地的圖形處理庫。在利用Java作圖形處理(比如:圖片縮放,圖片簽名,生成報表)時,如果運行在windows上不會出問題。如果將程序移植到Linux/Unix上的時候有可能出現圖形不能顯示的錯誤。3.提示信息:”Can’tconnecttoX11windowserver”這是由於Linux的圖形處理需要一個XServer服務器。(關於Linux的圖形處理模式參考Tomcat的修改如下:打開%Tomcat_home%/bin/catalina.sh文件在文件的86%處,啟動Tomcat的腳本中加上:-Djava.awt.headless=true/參考:”$_RUNJAVA”$JAVA_OPTS$CATALINA_OPTS/-Djava.endorsed.dirs=”$JAVA_ENDORSED_DIRS”-classpath”$CLASSPATH”/-Dcatalina.base=”$CATALINA_BASE”/-Dcatalina.home=”$CATALINA_HOME”/-Djava.io.tmpdir=”$CATALINA_TMPDIR”/-Djava.awt.headless=true/org.apache.catalina.startup.Bootstrap”$@”start/”$CATALINA_BASE”/logs/catalina.out21if[!-z”$CATALINA_PID”];thenecho$!$CATALINA_PIDfifielif[“$1″=”stop”];then保存後,重新啟動就可以處理圖形了。
怎樣用JAVA編寫一個小應用程序,輸出一張圖片或自己的照片
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class text
{
JFrame jf;
JLabel jl;
JPanel jp1;
public static void main(String[] args)
{
text t=new text();
t.go();
}
void go()
{
final ImageIcon image1 = new ImageIcon(“1.gif”);
jf=new JFrame();
jl = new JLabel(image1);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setSize(300, 300);
jf.setLocation(400, 300);
jp1 = new JPanel();
jp1.add(jl);
jf.getContentPane().add(jp1);
jf.setVisible(true);
}
}
把你的找一張gif 格式的照片 .名字改成1.gif 放在你的項目根目錄下
java如何生成圖片
java.awt.image.BufferedImage
javax.imageio.ImageIO
//獲得Graphics
Graphics graphics = BufferedImage.getGraphics()
//將BufferedImage 寫到文件流中
ImageIO.write(BufferedImage , “JPEG”, OutputStream);
我想把一個黑白的線條的手繪圖片轉換成一個矩陣存儲,黑用0,白用1,請問用java如何實現
import java.io.File;
import java.io.FileInputStream;
public class Test {
/**
* 將圖片轉成0/1矩陣
* @param imagePath
* @return
* @throws IOException
*/
public int[][] imgMtr(String imagePath) throws Exception {
java.awt.image.BufferedImage image =
javax.imageio.ImageIO.read(new FileInputStream(new File(imagePath)));
int w = image.getWidth();
int h = image.getHeight();
int[][] mtr = new int[h][w]; // 存儲矩陣
for (int i = 0; i h; i++) {
for (int j = 0; j w; j++) {
int rgb = image.getRGB(j, i); //aRGB
// 依次檢查R、G、B是否超過閾值
// 超過視為白色,否則黑色
int r = (rgb 0x00ff0000) 16;
int g = (rgb 0x0000ff00) 8;
int b = (rgb 0x000000ff);
int a = 0xff / 2; //閾值, 可根據需要設定
if (r a g a b a) {
mtr[i][j] = 1;
} else {
mtr[i][j] = 0;
}
}
}
return mtr;
}
public static void main(String[] args) throws Exception {
Test test = new Test();
int[][] result = test.imgMtr(“F:\\hex.jpg”);
for (int[] row : result) {
for (int col : row) {
System.out.print(col);
}
System.out.print(“\n”);
}
}
}
JAVA setRGB使圖片變白
因為它們的ColorModel不同.判斷一張圖是灰度圖還是彩色圖最好的辦法就是比對一下某一個像素的RGB是否都為同一個值.因為灰色的這3個值都是相同的而彩色不同.
可以int color = img.getRGB(x,y);//獲取某個點的顏色值
int red = color16255;//獲取這個點的紅色值
int green = color8255;//獲取這個點的綠色值
int blue = color255;//獲取這個點的藍色值
if(red==green==blue)System.out.println(“這是一張灰度圖”);
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/242651.html