當前位置: 首頁>>代碼示例>>Java>>正文


Java JPEGCodec.createJPEGEncoder方法代碼示例

本文整理匯總了Java中com.sun.image.codec.jpeg.JPEGCodec.createJPEGEncoder方法的典型用法代碼示例。如果您正苦於以下問題:Java JPEGCodec.createJPEGEncoder方法的具體用法?Java JPEGCodec.createJPEGEncoder怎麽用?Java JPEGCodec.createJPEGEncoder使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在com.sun.image.codec.jpeg.JPEGCodec的用法示例。


在下文中一共展示了JPEGCodec.createJPEGEncoder方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: snapImageFile

import com.sun.image.codec.jpeg.JPEGCodec; //導入方法依賴的package包/類
void snapImageFile(String filename, int width, int height) {
  BufferedImage bImage = doRender(width, height);

  /*
   * JAI: RenderedImage fImage = JAI.create("format", bImage,
   * DataBuffer.TYPE_BYTE); JAI.create("filestore", fImage, filename +
   * ".tif", "tiff", null);
   */

  /* No JAI: */
  try {
    FileOutputStream fos = new FileOutputStream(filename + ".jpg");
    BufferedOutputStream bos = new BufferedOutputStream(fos);

    JPEGImageEncoder jie = JPEGCodec.createJPEGEncoder(bos);
    JPEGEncodeParam param = jie.getDefaultJPEGEncodeParam(bImage);
    param.setQuality(1.0f, true);
    jie.setJPEGEncodeParam(param);
    jie.encode(bImage);

    bos.flush();
    fos.close();
  } catch (Exception e) {
    System.out.println(e);
  }
}
 
開發者ID:HOMlab,項目名稱:QN-ACTR-Release,代碼行數:27,代碼來源:LineTypes.java

示例2: compressImage

import com.sun.image.codec.jpeg.JPEGCodec; //導入方法依賴的package包/類
private void compressImage(int widthdist,int heightdist, Float rate) {
    try {
        if (rate != null && rate > 0) {
            // 獲取文件高度和寬度
            int[] results = getImageSize(this.srcFile);
            if (results == null || results[0] == 0 || results[1] == 0) {
                return;
            } else {
                widthdist = (int) (results[0] * rate);
                heightdist = (int) (results[1] * rate);
            }
        }
        // 開始讀取文件並進行壓縮
        Image src = javax.imageio.ImageIO.read(this.srcFile);
        BufferedImage tag = new BufferedImage((int) widthdist,(int) heightdist, BufferedImage.TYPE_INT_RGB);
        tag.getGraphics().drawImage(src.getScaledInstance(widthdist, heightdist, Image.SCALE_SMOOTH), 0, 0, null);
        FileOutputStream out = new FileOutputStream(this.imgDist);
        JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
        encoder.encode(tag);
        out.close();
    } catch (IOException ex) {
        ex.printStackTrace();
    }
}
 
開發者ID:Fetax,項目名稱:Fetax-AI,代碼行數:25,代碼來源:CompressImageHelper.java

示例3: pressImage

import com.sun.image.codec.jpeg.JPEGCodec; //導入方法依賴的package包/類
/**
 * 把圖片印刷到圖片上
 *
 * @param pressImg
 *            -- 水印文件
 * @param targetImg
 *            -- 目標文件
 * @param x
 * @param y
 */
public final static void pressImage(String pressImg, String targetImg, int x, int y) {
    try {
        File _file = new File(targetImg);
        Image src = ImageIO.read(_file);
        int wideth = src.getWidth(null);
        int height = src.getHeight(null);
        BufferedImage image = new BufferedImage(wideth, height, BufferedImage.TYPE_INT_RGB);
        Graphics g = image.createGraphics();
        g.drawImage(src, 0, 0, wideth, height, null);

        // 水印文件
        File _filebiao = new File(pressImg);
        Image src_biao = ImageIO.read(_filebiao);
        int wideth_biao = src_biao.getWidth(null);
        int height_biao = src_biao.getHeight(null);
        g.drawImage(src_biao, wideth - wideth_biao - x, height - height_biao - y, wideth_biao, height_biao, null);
        g.dispose();
        FileOutputStream out = new FileOutputStream(targetImg);
        JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
        encoder.encode(image);
        out.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}
 
開發者ID:beihua,項目名稱:DataBird,代碼行數:36,代碼來源:ImagePressTextUtil.java

示例4: createSmallPhoto

import com.sun.image.codec.jpeg.JPEGCodec; //導入方法依賴的package包/類
public static void createSmallPhoto(String photoPath, String smallPath) {
	File _file = new File(photoPath); // �����ļ�
	Image src;
	try {
		src = javax.imageio.ImageIO.read(_file);
		int wideth = 110; // �õ�Դͼ��
		int height = 80; // �õ�Դͼ��
		BufferedImage tag = new BufferedImage(wideth, height,
				BufferedImage.TYPE_INT_RGB);
		tag.getGraphics().drawImage(src, 0, 0, wideth, height, null); // ������С���ͼ
		FileOutputStream out = new FileOutputStream(smallPath); // ������ļ���
		JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
		encoder.encode(tag); // ��JPEG����
		out.close();
	} catch (IOException e) {
		e.printStackTrace();
	}
}
 
開發者ID:java-scott,項目名稱:java-project,代碼行數:19,代碼來源:ImageUtils.java

示例5: writeAsJPEG

import com.sun.image.codec.jpeg.JPEGCodec; //導入方法依賴的package包/類
/**
 * Write the jpeg image of the Component cnt to the OutPutStream.
 *
 * If the component is a penal with subpanels you might need to call
 * {@link JPanel#addNotify} and {@link JPanel#doLayout}.
 * If the server is running on Unix you will need to use java 1.4 and specify
 * -Djava.awt.headless=true on the command Line or for tomcat:
 *    edit catalina.sh in the $CATALINA_HOME/bin directory and add a line
 *    CATALINA_OPTS='-Djava.awt.headless=true'
 */
static public void writeAsJPEG(OutputStream out, Component cnt)
        throws IOException {
    Dimension s = cnt.getSize();
    BufferedImage bufferedImage = new BufferedImage((int) s.getWidth(),
            (int) s.getHeight(), BufferedImage.TYPE_3BYTE_BGR);
    Graphics2D graphics = bufferedImage.createGraphics();
    graphics.setColor(Color.white);

    //graphics.fillRect(0, 0, (int)s.getWidth(), (int)s.getHeight());
    cnt.print(graphics);

    JPEGImageEncoder jpegEncoder = JPEGCodec.createJPEGEncoder(out);
    JPEGEncodeParam encodeParam = JPEGCodec.getDefaultJPEGEncodeParam(bufferedImage);
    encodeParam.setQuality((float) 0.9, true);
    jpegEncoder.encode(bufferedImage, encodeParam);
    graphics.dispose();
    bufferedImage.flush();
}
 
開發者ID:mrmaxent,項目名稱:Maxent,代碼行數:29,代碼來源:PlotServlet.java

示例6: saveToPicture

import com.sun.image.codec.jpeg.JPEGCodec; //導入方法依賴的package包/類
/**
 * ��һ��JPanel����Ϊ��fileָ����ͼƬ��
 * @param file
 * @param panel
 */
@SuppressWarnings("restriction")
public static void saveToPicture(File file, JComponent panel){
	BufferedImage image = new BufferedImage(Page.PAGE_WIDTH, Page.PAGE_HEIGHT, BufferedImage.TYPE_INT_RGB);
	Graphics2D g = image.createGraphics();
	panel.paint(g);
	image.flush();  
	try {
		FileOutputStream fos = new FileOutputStream(file);
		JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(fos);
		JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(image);
		param.setQuality(1.0f, true);
		encoder.encode(image, param);
		javax.imageio.ImageIO.write(image, "jpeg", fos);
		fos.close();
	} catch (Exception e) {
		e.printStackTrace();
	} 
}
 
開發者ID:squallyou,項目名稱:LScore,代碼行數:24,代碼來源:ImageHandler.java

示例7: waterMark

import com.sun.image.codec.jpeg.JPEGCodec; //導入方法依賴的package包/類
/**
 * 圖片水印
 * 
 * @param imgPath
 *            待處理圖片
 * @param markPath
 *            水印圖片
 * @param x
 *            水印位於圖片左上角的 x 坐標值
 * @param y
 *            水印位於圖片左上角的 y 坐標值
 * @param alpha
 *            水印透明度 0.1f ~ 1.0f
 * */
public static void waterMark(String imgPath, String markPath, int x, int y, float alpha) {
    try {
        // 加載待處理圖片文件
        Image img = ImageIO.read(new File(imgPath));

        BufferedImage image = new BufferedImage(img.getWidth(null), img.getHeight(null), BufferedImage.TYPE_INT_RGB);
        Graphics2D g = image.createGraphics();
        g.drawImage(img, 0, 0, null);

        // 加載水印圖片文件
        Image src_biao = ImageIO.read(new File(markPath));
        g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, alpha));
        g.drawImage(src_biao, x, y, null);
        g.dispose();

        // 保存處理後的文件
        FileOutputStream out = new FileOutputStream(imgPath);
        JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
        encoder.encode(image);
        out.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}
 
開發者ID:ishare,項目名稱:SimilarImageSearch,代碼行數:39,代碼來源:ImageHelper.java

示例8: textMark

import com.sun.image.codec.jpeg.JPEGCodec; //導入方法依賴的package包/類
/**
 * 文字水印
 * 
 * @param imgPath 待處理圖片
 * @param text 水印文字
 * @param font 水印字體信息
 * @param color 水印字體顏色
 * @param x 水印位於圖片左上角的 x 坐標值
 * @param y 水印位於圖片左上角的 y 坐標值
 * @param alpha 水印透明度 0.1f ~ 1.0f
 */
public static void textMark(String imgPath, String text, Font font, Color color, int x, int y, float alpha) {
    try {
        Font Dfont = (font == null) ? new Font("宋體", 20, 13) : font;

        Image img = ImageIO.read(new File(imgPath));

        BufferedImage image = new BufferedImage(img.getWidth(null), img.getHeight(null), BufferedImage.TYPE_INT_RGB);
        Graphics2D g = image.createGraphics();

        g.drawImage(img, 0, 0, null);
        g.setColor(color);
        g.setFont(Dfont);
        g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, alpha));
        g.drawString(text, x, y);
        g.dispose();
        FileOutputStream out = new FileOutputStream(imgPath);
        JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
        encoder.encode(image);
        out.close();
    } catch (Exception e) {
        System.out.println(e);
    }
}
 
開發者ID:ishare,項目名稱:SimilarImageSearch,代碼行數:35,代碼來源:ImageHelper.java

示例9: writeImage

import com.sun.image.codec.jpeg.JPEGCodec; //導入方法依賴的package包/類
/**
 * @see ImageWriter#writeImage(java.awt.image.RenderedImage, java.io.OutputStream, org.apache.flex.forks.batik.ext.awt.image.spi.ImageWriterParams)
 */
public void writeImage(RenderedImage image, OutputStream out,
        ImageWriterParams params) throws IOException {
    BufferedImage bi;
    if (image instanceof BufferedImage) {
        bi = (BufferedImage)image;
    } else {
        //TODO Is this the right way?
        bi = GraphicsUtil.makeLinearBufferedImage(
                image.getWidth(), image.getHeight(), false);
    }
    JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
    if (params != null) {
        JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(bi);
        if (params.getJPEGQuality() != null) {
            param.setQuality(
                    params.getJPEGQuality().floatValue(),
                    params.getJPEGForceBaseline().booleanValue());
        }
        encoder.encode(bi, param);
    } else {
        encoder.encode(bi);
    }
}
 
開發者ID:BowlerHatLLC,項目名稱:feathers-sdk,代碼行數:27,代碼來源:JPEGImageWriter.java

示例10: write

import com.sun.image.codec.jpeg.JPEGCodec; //導入方法依賴的package包/類
private void write(JComponent myComponent, OutputStream out)
		throws Exception {
	int imgWidth = (int) myComponent.getSize().getWidth(), imgHeight = (int) myComponent
			.getSize().getHeight();
	Dimension size = new Dimension(imgWidth, imgHeight);
	BufferedImage myImage = new BufferedImage(size.width, size.height,
			BufferedImage.TYPE_INT_RGB);
	Graphics2D g2 = myImage.createGraphics();
	myComponent.paint(g2);
	try {
		JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
		encoder.encode(myImage);
		out.close();
	} catch (Exception e) {
		throw new Exception("GRAPHICS ERROR,CANNOT CREATE JPEG FORMAT");
	}
}
 
開發者ID:vonpower,項目名稱:VonRep,代碼行數:18,代碼來源:PanelDialog.java

示例11: createMark

import com.sun.image.codec.jpeg.JPEGCodec; //導入方法依賴的package包/類
public static boolean createMark(String filePath, String printPath,
		String markContent) {
	ImageIcon imgIcon = new ImageIcon(filePath);
	Image theImg = imgIcon.getImage();
	int width = theImg.getWidth(null);
	int height = theImg.getHeight(null);
	BufferedImage bimage = new BufferedImage(width, height,
			BufferedImage.TYPE_INT_RGB);
	Graphics2D g = bimage.createGraphics();
	g.setColor(Color.red);
	g.drawImage(theImg, 0, 0, null);
	Font font = new Font(markContent, Font.BOLD, 200);
	g.setFont(font);
	g.setComposite(AlphaComposite
			.getInstance(AlphaComposite.SRC_OVER, 0.5f));// 10%͸��
	g.rotate(0.3f); // ���ֵ���ת�Ƕ�
	g.drawString(markContent, width / 3, height / 3);// ����ˮӡ��λ��
	g.dispose();
	try {
		FileOutputStream out = new FileOutputStream(printPath);
		JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
		JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(bimage);
		param.setQuality(100f, true);
		encoder.encode(bimage, param);
		out.close();
	} catch (Exception e) {
		e.printStackTrace();
		return false;
	}
	return true;
}
 
開發者ID:java-scott,項目名稱:java-project,代碼行數:32,代碼來源:ImageUtils.java

示例12: encode

import com.sun.image.codec.jpeg.JPEGCodec; //導入方法依賴的package包/類
/**
 * Encodes an image in JPEG format and writes it to an OutputStream.
 *
 * @param bufferedImage  The image to be encoded.
 * @param outputStream  The OutputStream to write the encoded image to.
 * @throws IOException
 */
public void encode(BufferedImage bufferedImage, OutputStream outputStream) throws IOException {
    if (bufferedImage == null) throw new IllegalArgumentException("Null 'image' argument.");
    if (outputStream == null) throw new IllegalArgumentException("Null 'outputStream' argument.");
    JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(outputStream);
    JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(bufferedImage);
    param.setQuality(this.quality, true);
    encoder.encode(bufferedImage, param);
}
 
開發者ID:parabuild-ci,項目名稱:parabuild-ci,代碼行數:16,代碼來源:SunJPEGEncoderAdapter.java

示例13: zoomPic

import com.sun.image.codec.jpeg.JPEGCodec; //導入方法依賴的package包/類
public static String zoomPic(String outputDir,  String outputFileName, int width, int height, boolean proportion,InputStream in) {   
    try {   
                  
        Image img = ImageIO.read(in);   //如果是本地圖片處理的話,這個地方直接把file放到ImageIO.read(file)中即可,如果是執行上傳圖片的話,  Formfile formfile=獲得表單提交的Formfile ,然後 ImageIO.read 方法裏參數放 formfile.getInputStream()
        // 判斷圖片格式是否正確   
        if (img.getWidth(null) == -1) {  
             
            return "no";
        } else {   
            int newWidth; int newHeight;   
            // 判斷是否是等比縮放   
            if (proportion == true) {   
                // 為等比縮放計算輸出的圖片寬度及高度   
                double rate1 = ((double) img.getWidth(null)) / (double) width + 0.1;   
                double rate2 = ((double) img.getHeight(null)) / (double) height + 0.1;   
                // 根據縮放比率大的進行縮放控製   
                double rate = rate1 > rate2 ? rate1 : rate2;   
                newWidth = (int) (((double) img.getWidth(null)) / rate);   
                newHeight = (int) (((double) img.getHeight(null)) / rate);   
            } else {   
                newWidth = width; // 輸出的圖片寬度   
                newHeight = height; // 輸出的圖片高度   
            }   
           BufferedImage tag = new BufferedImage((int) newWidth, (int) newHeight, BufferedImage.TYPE_INT_RGB);   
             
              
           tag.getGraphics().drawImage(img.getScaledInstance(newWidth, newHeight, Image.SCALE_SMOOTH), 0, 0, null);  
           FileOutputStream out = new FileOutputStream(outputDir + outputFileName);  
           // JPEGImageEncoder可適用於其他圖片類型的轉換   
           JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
           encoder.encode(tag);   
           out.close();   
        }   
    } catch (IOException ex) {   
        ex.printStackTrace();   
    }   
    return "ok";   
}
 
開發者ID:yulele166,項目名稱:pub-service,代碼行數:39,代碼來源:ImageZoomUtils.java

示例14: putWatermarkImage

import com.sun.image.codec.jpeg.JPEGCodec; //導入方法依賴的package包/類
/**
 * 向一個目標圖片上覆蓋一個水印圖片
 * 
 * @param markImgPath
 *      水印圖片路徑
 * @param targetImgPath
 *      目標圖片路徑
 * @param x
 *      覆蓋位置橫坐標
 * @param y
 *      覆蓋位置縱坐標
 * @throws IOException
 *      讀寫異常
 */
public void putWatermarkImage(String markImgPath, String targetImgPath, int x, int y) throws IOException {
    // 目標文件
    File targetFile = new File(targetImgPath);
    Image targetImage = ImageIO.read(targetFile);
    int widthT = targetImage.getWidth(null);
    int heightT = targetImage.getHeight(null);
    
    BufferedImage bufferedImage = new BufferedImage(widthT, heightT, BufferedImage.TYPE_INT_RGB);
    Graphics graphics = bufferedImage.createGraphics();
    graphics.drawImage(targetImage, 0, 0, widthT, heightT, null);
    
    // 水印文件
    File markFile = new File(markImgPath);
    Image markImage = ImageIO.read(markFile);
    int widthM = markImage.getWidth(null);
    int heightM = markImage.getHeight(null);
    graphics.drawImage(markImage, x, y, widthM, heightM, null);
    
    // 水印覆蓋
    graphics.dispose();
    
    FileOutputStream outputStream = new FileOutputStream(targetImgPath);
    JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(outputStream);
    encoder.encode(bufferedImage);
    
    outputStream.close();
}
 
開發者ID:William-Hai,項目名稱:JCore-UtilLibrary,代碼行數:42,代碼來源:ImageOverlayUtils.java

示例15: putWatermarkText

import com.sun.image.codec.jpeg.JPEGCodec; //導入方法依賴的package包/類
/**
 * 向圖片中添加一個文件水印
 * 
 * @param targetImgPath
 *      待添加水印的圖片路徑
 * @param markLabel
 *      水印文本
 * @param color
 *      文本顏色
 * @param font
 *      文本字體
 * @param x
 *      水印位置橫坐標
 * @param y
 *      水印位置縱坐標
 * @throws IOException
 *      讀寫異常
 */
public void putWatermarkText(String targetImgPath, String markLabel, Color color, Font font, int x, int y) throws IOException {
    File targetFile = new File(targetImgPath);
    Image targetImage = ImageIO.read(targetFile);
    int widthT = targetImage.getWidth(null);
    int heightT = targetImage.getHeight(null);
    
    BufferedImage bufferedImage = new BufferedImage(widthT, heightT, BufferedImage.TYPE_INT_RGB);
    Graphics graphics = bufferedImage.createGraphics();
    graphics.drawImage(targetImage, 0, 0, widthT, heightT, null);
    
    graphics.setColor(color);
    graphics.setFont(font);
    graphics.drawString(markLabel, x, y);
    graphics.dispose();
    
    FileOutputStream outputStream = new FileOutputStream(targetImgPath);
    JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(outputStream);
    encoder.encode(bufferedImage);
    
    outputStream.close();
    
    /*
     * 調用過程格式如下:
     * utils.putWatermarkText("F:/IMG/GB/3.jpg", "HELLO WATERMARK!", Color.GREEN, new Font("Courier New", Font.BOLD, 20), 330, 230);
     */
}
 
開發者ID:William-Hai,項目名稱:JCore-UtilLibrary,代碼行數:45,代碼來源:ImageOverlayUtils.java


注:本文中的com.sun.image.codec.jpeg.JPEGCodec.createJPEGEncoder方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。