本文目錄一覽:
- 1、Java中怎麼抓取網頁中的圖片
- 2、java把圖片轉成二進位存入資料庫,在取出
- 3、java 怎麼提取Image對象的像素數據
- 4、java語言 工具類中圖片屬性怎麼設置
- 5、如何JAVA方式讀取文件和圖片的屬性信息
Java中怎麼抓取網頁中的圖片
通過httpclient來爬取網站內容,分析當前內容頁中的圖片『規則』
抓取一般都是模擬瀏覽器訪問目標網頁,通過返回的頁面html代碼進行分析自己需要的數據
查找規則,例如你爬取的網頁 ,看到當前頁面顯示的圖片格式如下img src=””
通過解析爬取的網頁源代碼(html)進行字元串的操作即可,現在有相應的第三方jar包可以幫你更快的完成這部分工作,例如htmlpaser,獲取到對應的地址,然後進行保存或下載。
你可以搜索,java爬蟲(httpclient)和htmlpaser做更多的了解。
java把圖片轉成二進位存入資料庫,在取出
1.將Image圖像文件存入到資料庫中
我們知道資料庫里的Image類型的數據是”二進位數據”,因此必須將圖像文件轉換成位元組數組才能存入資料庫中.
要這裡有關數據的操作略寫,我將一些代碼段寫成方法,方便直接調用.
//根據文件名(完全路徑)
public byte[] SetImageToByteArray(string fileName)
{
FileStream fs = new FileStream(fileName, FileMode.Open);
int streamLength = (int)fs.Length;
byte[] image = new byte[streamLength];
fs.Read(image, 0, streamLength);
fs.Close();
return image;
}
//另外,在ASP.NET中通過FileUpload控制項得到的圖像文件可以通過以下方法
public byte[] SetImageToByteArray(FileUpload FileUpload1)
{
Stream stream = FileUpload1.PostedFile.InputStream;
byte[] photo = new byte[FileUpload1.PostedFile.ContentLength];
stream.Read(photo, 0, FileUpload1.PostedFile.ContentLength);
stream.Close();
return photo;
}
2.從SQL Server資料庫讀取Image類型的數據,並轉換成bytes[]或Image圖像文件
//要使用SqlDataReader要載入using System.Data.SqlClient命名空間
//將資料庫中的Image類型轉換成byte[]
public byte[] SetImage(SqlDataReader reader)
{
return (byte[])reader[“Image”];//Image為資料庫中存放Image類型欄位
}
//將byte[]轉換成Image圖像類型
//載入以下命名空間using System.Drawing;/using System.IO;
using System.Data.SqlClient;*/
public Image SetByteToImage(byte[] mybyte)
{
Image image;
MemoryStream mymemorystream = new MemoryStream(mybyte,0, mybyte.Length);
image = Image.FromStream(mymemorystream);
return image;
}
java 怎麼提取Image對象的像素數據
這個是一段透明化處理的代碼,裡面有獲取像素的代碼存在!希望對你有所幫助!
pixels將是像素,int pixels[] = (int[]) pgr.getPixels();這裡將寫入到數組中了!
/**
* 使圖片中的某一種顏色透明
*
* @param image
* Image
* @param RGB16
* String 十六進位的六位顏色值字元串
* @param isFiltrate
* boolean
* @return Image
*/
public static Image setTranImage(Image image, String RGB16,
boolean isFiltrate)
{
int width = image.getWidth(null);
int height = image.getHeight(null);
Image abufferedimage = new BufferedImage(width, height, 2);
Graphics g = abufferedimage.getGraphics();
g.drawImage(image, 0, 0, width, height, 0, 0, width, height, null);
g.dispose();
// 透明化處理
PixelGrabber pgr = new PixelGrabber(abufferedimage, 0, 0, -1, -1, true);
try
{
pgr.grabPixels();
}
catch (InterruptedException ex)
{
ex.getStackTrace();
}
int pixels[] = (int[]) pgr.getPixels();
if (isFiltrate RGB16.length() == 6)
{
// 循環像素
for (int i = 0; i pixels.length; i++)
{
// 去色
if (((pixels[i] 0x00ff0000) 16 == Integer.parseInt(
RGB16.substring(0, 2), 16)
(pixels[i] 0x0000ff00) 8 == Integer.parseInt(
RGB16.substring(2, 4), 16) (pixels[i] 0x000000ff) == Integer
.parseInt(RGB16.substring(4, 6), 16)))
{
// 透明化
pixels[i] = 0;
}
}
}
ImageProducer ip = new MemoryImageSource(pgr.getWidth(),
pgr.getHeight(), pixels, 0, pgr.getWidth());
return toolkit.createImage(ip);
}
java語言 工具類中圖片屬性怎麼設置
哪有啥圖片屬性,圖片不就是一個文件嗎,你要麼用File 或者吧圖片存放在 計算機的磁碟上,那麼就只要保存個文件路徑 就是了
不知道你是不是這個意思?還是說你要修改圖片文件?java中也有對圖片操作的類包的
如何JAVA方式讀取文件和圖片的屬性信息
最直接的方式:File file = new File(“文件路徑”);
然後去API查下File的方法吧,比如:file.isHidden();測試此抽象路徑名指定的文件是否是一個隱藏文件。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/286335.html