实现图片由 720*480 的bmp 转换成 1920*1080 的 png

1080p bmp 1080p的 bmp格式的图片 立即下载
  1. package com.zhao.myImage;
  2. import java.awt.Image;
  3. import java.awt.image.BufferedImage;
  4. import java.io.File;
  5. import java.io.IOException;
  6. import javax.imageio.ImageIO;
  7. public class ChangeImage {
  8.     /**
  9.      * @param args
  10.      */
  11.     public static void main(String[] args) {
  12.         // TODO Auto-generated method stub
  13.     File inputFile = new File("c://test.bmp");        
  14.     try {
  15.         BufferedImage input = ImageIO.read(inputFile);
  16.         Image big = input.getScaledInstance(1920, 1080,Image.SCALE_DEFAULT);
  17.         //将Image 强制转换成 BufferedImage 不行,Image是一个抽象类,
  18.         //BufferedImage是继承Image的一个类
  19.         BufferedImage inputbig ;
  20.         inputbig = new BufferedImage(1920, 1080,BufferedImage.TYPE_INT_ARGB);
  21.         inputbig.getGraphics().drawImage(big, 0, 0, 1920, 1080, null);
  22.         File outputFile = new File("c://test.png");
  23.         ImageIO.write(inputbig, "PNG", outputFile);
  24.     } catch (IOException e) {
  25.         // TODO Auto-generated catch block
  26.         e.printStackTrace();
  27.     }
  28.     
  29.     }
  30. }

 

Image相关的数据类型转换和用法


首先定义用到的数据类型
Icon icon;//声明一个图标类
Image image;
ImageIcon icon;//使用ImageIcon类创建一个图标

BufferedImage bi;
byte[] bytes;
Blob blob;
String fileName;

一、ImageIcon类
构造函数
icon = new ImageIcon(fileName);
icon = new ImageIcon(bytes);
icon = new ImageIcon(image);

实用方法
int getIconHeight();
int getIconWidth();
void setImage(Image image);
Image getImage();

小结
ImageIcon与Image间的转换比较方便,更偏向于应用方面,主要是控件中的setIcon(ImageIcon)方法。


二、Image类
实用方法
1.缩放图片大小,其中hints通常用Image.SCALE_SMOOTH
Image getScaledInstance(int width, int height, int hints);

2.获取图片长宽值
int getHeight(null);
int getWidth(null);

小结
Image更像一个过渡类,将图形转换成别的图形类,如ImageIcon、BufferedImage等。

三、BufferedImage类
构造函数
bi = new BufferedImage(int width, int height, int imageType);
这里的imageType我习惯用BufferedImage.TYPE_INT_ARGB,构造出来的BufferedImage更像是一个模式,需要往里面加数据。

关于BufferedImage的一些用法
1.Image写入BufferedImage
bi.getGraphics().drawImage(Image img, int x, int y, int width, int height, ImageObserver observer)

2.BufferedImage转换到bytes[]或文件
bi = ImageIO.read(new File(fileName));
//放缩到36*36
image= bi.getScaledInstance (36,36,Image.SCALE_SMOOTH);
double wRatio = 36.0/bi.getWidth();
double hRatio = 36.0/bi.getHeight();
//AffineTransformOp.TYPE_BICUBIC 表示3次方放缩
AffineTransformOp op = new AffineTransformOp(AffineTransform.getScaleInstance(wRatio, hRatio),AffineTransformOp.TYPE_BICUBIC);
bi = op.filter(bi, null);
ByteArrayOutputStream out = new ByteArrayOutputStream();
ImageIO.write(bi, "jpg", out);
bytes = out.toByteArray();
这里用到的ImageIO.write方法参数为 (RenderedImage im, String formatName, ImageOutputStream output),其中参数 output是图形的输出流,可以定向到文件流new FileOutputStream()实现将图象写入到文件。

3.以上两个用法综合使用可以将Image写入到byte[]和文件。

四、byte[]和Blob的转换
图像在MySql中用BLOB数据类型(Binary Large Object)存储

1.byte[]到Blob转换
blob = new SerialBlob(bytes);
blob.setBytes(long pos, byte[] bytes);

2.Blob到byte[]转换
bytes = blob.getBytes(long pos, int length);

这里需要注意的一点是存储图形到MySql数据库时使用Blob类型,从MySql取出图形的Object应转换到byte[]

 

评论

# re: Image相关的数据类型转换和用法 2007-11-15 18:10 过路人

楼主分析得很细,我现在正好遇到了这个问题需要解决.
不过我提出一点:swt中的Image与swing中的Image不知楼主有没有比较好相互转换方法?因为我现在用的是swt来做界面. 

 

http://www.blogjava.net/fengwei1314/archive/2007/04/25/113569.html

[1080P]1920x1080官方壁纸4张.zip 超高清1920*1080(楼主点了要1920的,其他那些分辨率低的我就不上图了) 4张图,本人用了6年的壁纸 立即下载

相关推荐

26张字母诠释爱情1920*1080壁纸打包下载

26张字母诠释爱情1920*1080壁纸打包下载

图片1920x1080分辨率怎么调 ?图片如何修改分辨率?

图片是我们日常生活中经常需要使用到的东西,但是在使用图片时我们会遇到需要调图片分辨率的情况,有很多小伙伴对于图片分辨率这个概念并不了解,今天就来为大家具体介绍一下图片1920x1080怎么调以及怎么给图片。除了给图片修改分辨率以外,压缩图还支持图片压缩、图片格式转换、图片裁剪、点击选择图片,在左侧工具栏中输入我们想要的图片宽、高(输入其中任意数值,系统自动修改图片尺寸),最后保存图片即可。上传图片后选择dpi修改数值,支持将图片分辨率改为72、96、100、300、350dpi等。处理完成后保存图片即可。

m0_71314894的博客 5876

bmp图片显示

Linux开发板下bmp图片显示封装函数,lcd的大小为800*480,有需要自己应该可以改吧

1920*1080的图片

weixin_42092307的博客 661

Imagicon--批量将BMP、JPG、PNG转换为BMP、JPG、PNG或ICO图标格式

可以批量将BMP、JPG、PNG转换为BMP、JPG、PNG或ICO图标格式,并可在调整过程中 调整大小或进行水平/垂直翻转。 这款软件的特色在于您只需要设置好转换算法、保存格式和保存目录后,然后就可以将一个或多个文件拖拽到 程序的窗口上,片刻之间就可以完成转换。

步进电机 cia402协议 报文自己的理解 (笔记)

步进电机 cia402协议 报文自己的理解 (笔记)

she666666的博客 3801

51c视觉~CV~合集3

基于深度学习的方法在某些工业产品的表面缺陷识别和分类方面表现出优异的性能, 然而大多数工业产品缺陷样本稀缺, 而且特征差异大, 导致这类需要大量缺陷样本训练的检测方法难以适用. 提出一种基于重构网络的无监督缺陷检测算法, 仅使用容易大量获得的无缺陷样本数据实现对异常缺陷的检测. 提出的算法包括两个阶段: 图像重构网络训练阶段和表面缺陷区域检测阶段. 训练阶段通过一种轻量化结构的全卷积自编码器设计重构网络, 仅使用少量正常样本进行训练, 使得重构网络能够生成无缺陷重构图像, 进一步提出一种结合结构性损失和L1

whaosoft~aiotの开发板商城 3053

SerDes硬件设计原理介绍

接收端:外部差分串行数据------线性均衡器----(CDR从数据中恢复出采样时钟)-----解串器(串行信号转并行信号)-------8B/10B的解码器或解扰器-----FIFO-----FPGA接受差分并行数据。发送端: FPGA发送差分并行数据----FIFO------8B/10B编码器或者扰码器-----串行器(并行信号转串行信号)-----均衡器(滤波)--------TX串行信号差分外发。串行器:8bit的并行数据----2bit的并行数据----1bits的串行数据。

weixin_42304393的博客 1106

note

CPU,此处CPU与BL芯片断开,没有连背光芯片。屏,此处屏与BL芯片断开,没有连背光芯片。虽然signal函数更简单些。行 3744: 07-22 23:56:01.139 <6>[ 5.577037][ T919] [2024:07:22 15:55:51](7)[919:modprobe][drm] [lcdkit /I]: type:66, name:[qcom,mdss-dsi-apl-bl-mode-off-command], length:16, pkt-count=1。

m0_73462935的博客 10万+

Ubuntu20.04下SRS流媒体服务器的安装与开机自启动优化指南

本文详细介绍了在Ubuntu20.04系统下安装SRS流媒体服务器并优化开机自启动的完整指南。从基础环境准备、服务管理方案对比到systemd自启动深度优化,提供了实用的配置技巧和排查方法,帮助用户快速搭建稳定的流媒体服务环境。特别推荐使用systemd方案实现高效的自启动管理。

weixin_29313239的博客 410

点击率预测的贝叶斯平滑

概述 电商领域中经常需要计算或预测一些转化率指标,如最典型的CTR(点击率,Click-Through Rate)。这些转化率可以是模型的预测值,也可以作为模型的特征(feature)使用。以商品点击率预测为例,CTR的值等于点击量(Click)除以曝光量(Impression或Exposure)。以rr表示点击率, r=CI(1)r=\frac{C}{I} \tag{1}. 但在实际应

小平子的专栏 3万+

Ffmpeg用法总结(下)

第五部分 裁剪/填充视频裁剪视频crop filter从输入文件中选取你想要的矩形区域到输出文件中,常见用来去视频黑边。 语法: crop:ow[:oh[:x[:y:[:keep_aspect]]]] 1.举例 1.1.裁剪输入视频的左三分之一,中间三分之一,右三分之一:ffmpeg -i input -vf crop=iw/3:ih :0:0 output ffmpeg -i input -vf

勤能补拙,孰能生巧 1万+

别再只抄代码了!深入理解MQ2传感器数据手册,搞定ppm换算公式

本文深入解析MQ2烟雾传感器的工作原理与ppm换算公式,从数据手册解读到数学建模,提供详细的校准与优化方法。通过实际案例和代码示例,帮助开发者准确测量气体浓度,解决常见问题,提升传感器应用的可靠性。

weixin_42713608的博客 504

BufferedImage类详解 解决 Unknown image type 0的问题

类BufferedImage 类BufferedImage java.lang.Object继承 java.awt.Image中 java.awt.image.BufferedImage中 所有实现的接口: RenderedImage,WritableRenderedImage,Transparency 公共类BufferedImage 扩展Ima...

FurtherSkyQ的博客 6914

CH341的I2C流模式(StreamI2C)到底怎么用?从EEPROM读写到自定义设备,一篇讲清参数配置逻辑

本文详细解析了CH341的I2C流模式(StreamI2C)的使用方法,从EEPROM读写到自定义设备的参数配置逻辑。通过深入分析I2C协议基础、StreamI2C参数映射关系及典型设备配置示例,帮助开发者快速掌握StreamI2C的应用技巧,解决实际开发中的常见问题。

weixin_30932215的博客 447

WordPress插件depicter存在SQL注入漏洞(CVE-2025-2011)

Depicter 是一款功能强大的 WordPress 幻灯片插件,允许用户通过直观的拖放编辑器轻松创建响应式滑块、轮播和动态内容展示。该插件提供丰富的模板库、动画效果和图层控制,支持多媒体内容嵌入(如图片、视频、HTML),并优化了移动端显示和SEO性能。其无代码操作界面适合非技术用户,同时提供高级自定义选项,适用于产品展示、营销推广和视觉叙事等多种场景,是提升网站视觉吸引力的高效工具。

m0_50125527的博客 550

获取当前屏幕图像并保存为bmp文件

此函数创建了1080p高清图片,即分辨率为:1920 x  1080 如果想创建不同的分辨率图片,可以修改函数中的 nWidth 和 nHeight. 此文仅供参考,如有不妥之处,请多多指教。 void Create1080p() {     int nWidth = 1920;     int nHeight = 1080;     int size = nWidth*nHei

zwmei的专栏 3805

A133在Android13上适配百兆以太网

NOTE] 【技术支持问题】问题背景/平台。

mangofu的博客 412

74KB图片也高清,谷歌用神经网络打造图像压缩新算法

Python实战社群Java实战社群长按识别下方二维码,按需求添加扫码关注添加客服进Python社群▲扫码关注添加客服进Java社群▲萧箫 发自 凹非寺量子位 报道 | 公众号 Qbit...

<sdffdsfsdfdfs>sfsfsfsdfsdffds</sdfsDS>Fsd 392

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

PB显示图片相关

1、选择图片 string ls_pathname, ls_filename integer li_value li_value = GetFileOpenName("选择照片", & + ls_pathname, ls_filename, "图片文件","jpg File (*.jpg),*.jpg,bmp file(*.bmp),*.bmp,gif file(*.gif),*.gif"

tlammon的专栏 3149

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Java修改图片分辨率(附代码) | Java工具类

本文提供可以修改图片分辨率的java工具类,实用主义的狂欢。

阿良的博客 1万+

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

使用Java将图片转化为高清缩略图

使用Java将图片转化为高清缩略图 简述: 遇到一个业务需求,需要将上传的图片生成一份高清缩略图,查询了了很多方法,效果都不理想。最终找到thumbnailator.jar,轻松解决。 代码: //oldFilePath(原始图片地址) //newFilePath(生成的缩略图地址) Thumbnails.of(new File(oldFilePath)) .size(100,100) .toFile(new File(newFilePath)); 或者 Thumbnails.o

lianmouren的博客 981

matlab改变图片尺寸及像素与尺寸的转换

今天对象做电子板报,需要将图片作为word背景,word页面设置为240mm*120mm, 由于找到的图片的宽度和高度跟这个不一致,所以会出现多个重复的图部分出现, 因此需要将图片处理为240mm*120mm 真正的工科生是不用ps的,我打开matlab就是一顿操作 a= imread('ground.jpg'); b= imresize(a,[120 240]); imwrite(b,...

fff2zrx的博客 3万+

传入图片,按比例缩放拼接图片

最近由于项目需求,需要传入一个图片,然后再将图片进行比例裁剪或者放大,然后实现拼接处1080*1920+1080*1920 => 2160*1920的图片的横竖状态的两种图片。 基本上需求就是这样。 下面是实现的代码:private Bitmap splitJoinPic(Bitmap originBitmap) { if (getResources().getConfigu

Qiiiiiiq的专栏 1220
上一篇: js为加载图片的实现过程
下一篇: java 模式对话框与非模式对话框的比较
ap0406708
博客等级 码龄20年 4粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值