最近木有時間上網(wǎng),偶然看到該題,沒有現(xiàn)成的程序,給您個思路吧,圖片在程序中本身是存的是一個二進(jìn)制矩陣,如要拼接只需將兩張圖片轉(zhuǎn)換成兩個矩陣然后合并成一個大矩陣即可,從哪個像素開始都可以從矩陣中得到數(shù)據(jù),切割圖片亦是如此,計算一下便可。不知對您是否有幫助
創(chuàng)新互聯(lián)公司基于分布式IDC數(shù)據(jù)中心構(gòu)建的平臺為眾多戶提供溫江服務(wù)器租用 四川大帶寬租用 成都機柜租用 成都服務(wù)器租用。
用java代碼模擬一張圖片可以這樣操作:1.創(chuàng)建BufferedImage類
2.根據(jù)BufferedImage類得到一個Graphics2D對象
3.根據(jù)Graphics2D對象進(jìn)行邏輯操作
4.處理繪圖
5.將繪制好的圖片寫入到圖片
Image bgImage;
Image fgImage;
try {
bgImage = ImageIO.read(bgImageFile);
fgImage = ImageIO.read(fgImageFile);
int bgWidth = bgImage.getWidth(null);
int bgHeight = bgImage.getHeight(null);
int fgWidth = fgImage.getWidth(null);
int fgHeight = fgImage.getHeight(null);
// 此類叫SpliceImages,這個方法是靜態(tài)方法,所以實例化一下
// 后面的這個對象的屬性是自定義的類成員。
SpliceImages spliceImages = new SpliceImages();
// 私有方法
spliceImages.parsePosition(position, bgWidth, bgHeight, fgWidth, fgHeight);
// 生成新圖片的長、寬,后面那個是色彩模式
BufferedImage bufferedImage = new BufferedImage(spliceImages.WIDTH, spliceImages.HEIGHT, BufferedImage.TYPE_INT_RGB);
Graphics graphics = bufferedImage.createGraphics();
// 繪制背景圖片
graphics.drawImage(bgImage, spliceImages.bgX, spliceImages.bgY, null);
// 繪制前景圖片
graphics.drawImage(fgImage, spliceImages.fgX, spliceImages.fgY, null);
graphics.dispose();
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(output);
encoder.encode(bufferedImage);
output.close();
} catch (IOException e) {
e.printStackTrace();
}
這個是我做圖表時寫的,整個類中定義了很多重載方法,所以不全貼了。由于用的FusionCharts3.1,單系列圖表沒有圖例,為了處理導(dǎo)出圖片,就自制圖例,然后用java拼接。其中那個私有方法是我處理兩張圖片的左上角坐標(biāo)的。這里就不貼了。實際上我的做法就是取出兩個圖片,然后重新繪制。做法比較笨,希望拋磚引玉吧。同理,圖片覆蓋也是用這個,只是兩圖片的坐標(biāo)發(fā)生變發(fā)。
圖像無縮放?
這個就是個算法的問題吧,你就直接根據(jù)多少行多少列,挨個給像素點賦值啊。不過要求原始圖像大小相同吧。
新聞名稱:圖片拼接java代碼 java實現(xiàn)圖片拼接
文章起源:http://muchs.cn/article38/doesdsp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、網(wǎng)站收錄、ChatGPT、網(wǎng)站設(shè)計、網(wǎng)站內(nèi)鏈、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)