首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏用户2442861的专栏

    BufferedImage与byte[]互转

    一、需要用到的类 java.awt.image.BufferedImage; javax.imageio.ImageIO; java.io.*; 二、为什么要将BufferedImage转为byte 数组 在传输中,图片是不能直接传的,因此需要把图片变为字节数组,然后传输比较方便;只需要一般输出流的write方法即可; 而字节数组变成BufferedImage能够还原图像; 三、如何取得BufferedImage BufferedImage image = ImageIO.read(new File("1.gif")); 四、BufferedImage  ---->byte[] ImageIO.write( BufferedImage image,String format,OutputStream out);方法可以很好的解决问题; 参数image表示获得的BufferedImage; 参数format (InputStream in);     //将in作为输入流,读取图片存入image中,而这里in可以为ByteArrayInputStream(); 六、显示BufferedImage public

    2.8K10发布于 2018-09-19
  • 来自专栏OSChina

    Java BufferedImage的基本用法

    1:读取本地图片: File file = new File(”001.jpg“);//本地图片 BufferedImage image=(BufferedImage) ImageIO.read(file); 2:读取一张网上图片: URL url= new URL(”http://*******“);//url 为图片的URL 地址 BufferedImage image=(BufferedImage)ImageIO.read(url); 3:获取图片的每个像素点的像素值(获取个点像素值是后期图片操作的基础): //获取图像的宽度和高度 } 4:计算图片保存后的大小: 要计算图片保存时的大小,一种简单的方法就是计算图片的输出刘的大小;将输出流转为 一个 byte 数组;然后计算数组的长度: image=(BufferedImage

    8.7K40发布于 2019-08-01
  • 来自专栏二猫の家

    BufferedImage类、Image类、Graphics类

    BufferedImage Image是一个抽象类,BufferedImage是其实现类,是一个带缓冲区图像类,主要作用是将一幅图片加载到内存中(BufferedImage生成的图片在内存里有一个图像缓冲区 创建: 直接调用构造函数 //指定宽高、图像字节灰度 BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_BYTE_GRAY ) //创建一个不带透明色的对象 BufferedImage bimage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB ); //创建一个带透明色的对象 new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); 根据已经存在的BufferedImage BufferedImage与byte数组的转换 在传输中,图片是不能直接传的,需要先转为字节数组再传输较为方便;而字节数组再转回BufferedImage则还原图片。

    1.7K20编辑于 2022-11-30
  • 来自专栏翎野君

    BufferedImage内存泄漏和溢出问题

    该类提供了一个简单的构造器:BufferedImage(int width,int height,int imageType):创建指定大小、指定图像类型的BufferedImage对象。 BufferedImage的一些坑 BufferedImage的一些坑: 项目中,BufferedImage的读取加载流程是:下载图片 -> 通过ImageIO.read()转成BufferedImage 很有可能的是,下载的图片过大,那么转成BufferedImage的对象也会很大。 此外BufferedImage存储的内容是不经过压缩的,你本地磁盘上读取了一个图片文件,转成BufferedImage对象后,大小可能是文件大小的数倍。 这是因为BufferedImage的对象大小是要按照位图那一套算法计算的,即像素数 * 单个像素存储大小。一般项目中都是用彩图,即24位。

    1.6K10编辑于 2024-05-04
  • 来自专栏IT架构圈

    java BufferedImage Graphics 绘制验证码

    .*; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.sql.SQLException throws SQLException { // 获取随机验证码 a-zA-Z0-9 String veryfiCode = veryfiCode(); BufferedImage image = new BufferedImage(70, 25, BufferedImage.TYPE_INT_BGR); // 相当于得到一支笔 Graphics

    1.5K30发布于 2018-06-01
  • 来自专栏码匠的流水账

    使用BufferedImage进行渐变色操作

    序 本文主要简述一下如何使用BufferedImage进行渐变色操作。 cyclic; //...... } 这个是生成渐变色的关键类,当然也有其他的渐变类,比如 java/awt/LinearGradientPaint.java 实例 public static BufferedImage drawGradient(BufferedImage srcImg, int startX, int startY Color colorFrom, Color colorTo, float opacity) { BufferedImage dstImg = new BufferedImage(srcImg.getWidth(), srcImg.getHeight(), BufferedImage.TYPE_INT_RGB);

    1.3K10发布于 2018-09-17
  • java BufferedImage简单图片写字一个小例子

    import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; import java.awt.image.BufferedImage args */ public static void main(String[] args) { // TODO Auto-generated method stub //得到图片缓冲区 BufferedImage bi=new BufferedImage(150,70,BufferedImage.TYPE_INT_RGB); //得到它的绘制环境,也就是画笔 Graphics2D g2=(Graphics2D

    14100编辑于 2025-07-18
  • 来自专栏Hongten

    java开发_比较使用ImageReader和BufferedImage获取图片尺寸总结

    多的不用说,先上代码,大家伙儿看看 1 /** 2 * 3 */ 4 package com.b510; 5 6 import java.awt.image.BufferedImage System.out.println("使用[ImageReader]获取图片尺寸耗时:[" + (endTime - beginTime)+"]ms"); 56 } 57 58 /** 59 * 使用BufferedImage } catch (FileNotFoundException e2) { 71 e2.printStackTrace(); 72 } 73 BufferedImage printStackTrace(); 80 } 81 long endTime = new Date().getTime(); 82 System.out.println("使用[BufferedImage

    2.7K20发布于 2018-09-13
  • 来自专栏10km的专栏

    java:BufferedImage判断图像通道顺序并转RGBBGR

    翻了好Java API好久,还真没发现有直接将RGB转BGR的方法,于是只好自己写一个,以下是代码片段,用于实现判断BufferedImage图像类型及通道顺序,并将BufferedImage转为RGB param bandOffset 用于判断通道顺序 * @return */ private static boolean equalBandOffsetWith3Byte(BufferedImage image,int[] bandOffset){ if(image.getType()==BufferedImage.TYPE_3BYTE_BGR){ if(image.getData 2}); } /** * 判断图像是否为RGB格式 * @return */ public static boolean isRGB3Byte(BufferedImage rgbImage = new BufferedImage(image.getWidth(), image.getHeight(), BufferedImage.TYPE

    2K70发布于 2018-01-03
  • 来自专栏10km的专栏

    java:从sRGB字节流(byte[])创建BufferedImage

    https://blog.csdn.net/10km/article/details/51872134 有时候我们需要从字节流byte[]创建一个BufferedImage对象,比如将jni 层返回的图像数据转为BufferedImage对象并显示出来。 BufferedImage类中的BufferedImage(java.awt.image.ColorModel, WritableRaster, boolean, java.util.Hashtable BufferedImage对象了。 其实也差不多, 可以参照BufferedImage中构造函数BufferedImage(int width, int height, int imageType)的源码,耐心研究一下就明白了。

    1.5K10发布于 2019-05-25
  • 来自专栏向治洪

    找不到BufferedImage这个Class的解决方法

    找不到BufferedImage这个Class的解决方法 环境:       [1]RedHat AS5 64位       [2]WebSphere6.0 32位版本 正文:     发现原来在RedHat 系统报java.awt.image.bufferedImage这个Class找不到。 或则是只提示,找不到BufferedImage的定义。

    2.4K80发布于 2018-01-29
  • 来自专栏猫头虎博客专区

    BufferedImage 将照片logo添加到二维码中间

    * @param logoPath logo照片路径 * @param formate 照片格式 */ public static void overlapImage( BufferedImage String imagePath, String logoPath, MatrixToLogoImageConfig logoConfig) { try { BufferedImage tag = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics g = tag.getGraphics 以下是一个简单的示例代码框架,演示了将 Logo 添加到二维码中间的过程: import java.awt.*; import java.awt.image.BufferedImage; import containing the QR code // Example: return QRCode.from(content).withSize(200, 200).bufferedImage

    44610编辑于 2024-04-08
  • 来自专栏10km的专栏

    java:从RGBA格式的图像数据byte[]创建BufferedImage对象

    https://blog.csdn.net/10km/article/details/88680596 从RGBA格式转BufferedImage的实现如下,注意,这个实现实际只保留了, /** * 从RGBA格式图像矩阵数据创建一个BufferedImage * @param matrixRGBA RGBA格式图像矩阵数据,为null则创建一个指定尺寸的空图像 * @param width * @param height * @return */ public static BufferedImage createRGBAImage(byte[] matrixRGBA Raster.createInterleavedRaster(DataBuffer.TYPE_BYTE, width, height,width*bytePerPixel, bytePerPixel, bOffs, null); BufferedImage img = new BufferedImage(colorModel,raster,colorModel.isAlphaPremultiplied(),null); return img;

    2.5K40发布于 2019-05-25
  • 来自专栏10km的专栏

    java : 调用ImageIO.writer从BufferedImage生成jpeg图像的坑

    将原图压缩生成jpeg格式的数据 * @param source * @return */ public static byte[] wirteJPEGBytes(BufferedImage (source,"JPEG"); } /** * 将{@link BufferedImage}生成formatName指定格式的图像数据 * @param source newBufferedImage = new BufferedImage(source.getWidth(), source.getHeight(), BufferedImage.TYPE_INT_RGB ,然后用Graphics.drawImage方法将原图写入新的BufferedImage对象,通过这一道转换,抹平了,不同类型图像格式生成的BufferedImage对象之间的区别,再调用 ImageIO.write /** * 将{@link BufferedImage}生成formatName指定格式的图像数据 * @param source * @param formatName

    3.5K80发布于 2018-01-03
  • 来自专栏海加尔金鹰的专栏

    JAVA通过BufferedImage进行图片的绘制,缩放,裁剪,水印等操作

    最近开发当中,通过JAVA对图片进行了很多的操作,之前很少接触这方面的知识,特此记录下来 读取图片 //读取图片 通过JAVA自带的ImageIO里面的read方法 BufferedImage bufImage = ImageIO.read(File input); BufferedImage bufImage = ImageIO.read(URL input); BufferedImage bufImage = ImageIO.read(InputStream input); BufferedImage bufImage = ImageIO.read(ImageInputStream input) 保存图片 image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); //获取画笔 可以通过Path类来实现贝塞尔曲线的效果 BufferedImage image = new BufferedImage(500, 500, BufferedImage.TYPE_INT_RGB); Graphics2D

    14K31发布于 2020-06-08
  • 来自专栏大数据

    Java一分钟之-图像处理:BufferedImage与ImageIO

    在Java中,处理图像通常涉及到BufferedImage类和ImageIO工具类。本文将简要介绍这两个关键组件,以及在处理图像时常见的问题、易错点及如何避免它们。 1.  BufferedImage BufferedImage是Java中的一个图像类,它提供了对图像像素级别的访问和修改。 你可以创建一个新的BufferedImage,或者从文件或流中加载现有图像: BufferedImage image = ImageIO.read(new File("image.jpg")); 2.  BufferedImage scaledImage = new BufferedImage(newWidth, newHeight, image.getType()); Graphics2D g2d = try (InputStream in = new FileInputStream("image.jpg")) { BufferedImage image = ImageIO.read(in);

    3.2K10编辑于 2024-05-31
  • 来自专栏10km的专栏

    java:图像(BufferedImage)色彩空间转换(灰度)暨获取图像矩阵数据byte[](sRGBgray)

    public BufferedImage toGray(BufferedImage srcImg){ return new ColorConvertOp(ColorSpace.getInstance 在仔细研究了BufferedImage的代码之后,才明白getRGB()只是BufferedImage为默认 RGB 颜色模型 (TYPE_INT_ARGB)提供的一个便利性封装。 通过getRGB()源码可以知道BufferedImage对象中真正的图像数据是由成员对象raster(java.awt.image.WritableRaster)管理。 image) { // 转灰度图像 BufferedImage grayImage = new BufferedImage(width, height, =BufferedImage.TYPE_3BYTE_BGR){ // 转sRGB格式 BufferedImage rgbImage = new BufferedImage

    3K20发布于 2019-05-25
  • 来自专栏小灰灰

    Java 实现图片旋转及问题小结

    Graphics2d 方式 利用Graphics2d的rotate方法来实现图片旋转,奇怪的是一直不生效,实现代码如下 BufferedImage bufferedImage = ImageUtil.getImageByPath ("bg.png"); Graphics2D g2d = bufferedImage.createGraphics(); g2d.rotate(Math.toRadians(90), bufferedImage.getWidth () >> 1, bufferedImage.getHeight() >> 1); g2d.dispose(); 2. AffineTransform 方式 BufferedImage bufferedImage = ImageUtil.getImageByPath("bg.png"); AffineTransform tx = new AffineTransform(); tx.rotate(0.5, bufferedImage.getWidth() / 2, bufferedImage.getHeight() /

    1.8K60发布于 2018-02-06
  • 来自专栏IT云清

    Java---将图片置灰

    bufferedImage = ImageIO.read(new FileInputStream(imagePath)); BufferedImage grayImage = getGrayImage (bufferedImage); //输出目录+输出文件 File out = new File("G:\\TestImage\\wangGray2.png"); ImageIO.write getGrayImage(BufferedImage originalImage){ BufferedImage grayImage; int imageWidth = originalImage.getWidth grayImage = new BufferedImage(imageWidth, imageHeight, BufferedImage.TYPE_3BYTE_BGR); ColorConvertOp = new BufferedImage(imageWidth,imageHight,BufferedImage.TYPE_3BYTE_BGR); for(int i = originalImage.getMinX

    99120发布于 2019-01-22
  • 来自专栏XAI

    Java基于百度AI+JavaCV+OpenCV 实现摄像头人数动态统计

    BufferedImage bufferedImage = java2dFrameConverter.getBufferedImage(grabber.grabFrame()); // bufferedImage * @param mat * @return BufferedImage */ public static BufferedImage iplToBufImgData( BufferedImage image = new BufferedImage(mat.width(), mat.height(),BufferedImage.TYPE_3BYTE_BGR); WritableRaster Exception { JSONObject object = JSONObject.parseObject(result); BufferedImage bufferedImage * @param mat * @return BufferedImage */ public static BufferedImage bufferimgToBase64

    1.8K21编辑于 2021-12-28
领券