首页 > 编程语言 >java调节图片大小

java调节图片大小

时间:2024-03-19 18:33:39浏览次数:25  
标签:jFrame java 缩放 调节 label 算法 SCALE 图像 图片大小

image getscaledinstance(int width, int height,int hints)

创建此图像的缩放版本。返回一个新的 image 对象。
如果 width 或 height 为负数,则替换该值以维持初始图像尺寸的高宽比。如果 width 和 height 都为负,则使用初始图像尺寸。

参数:
width - 将图像缩放到的宽度。
height - 将图像缩放到的高度。
hints - 指示用于图像重新取样的算法类型的标志。

hints说明:

常量说明
SCALE_AREA_AVERAGING表示采用区域平均图像缩放算法
SCALE_DEFAULT表示采用默认的图像缩放算法
SCALE_FAST表示采用快速的图像缩放算法,此算法注重速度,但缩放的图像可能不是很平滑
SCALE_REPLICATE采用ReplicateScaleFilter类中包含的图像缩放算法
SCALE_SMOOTH表示采用侧重缩放效果的结果图像的平滑性不侧重速度的图像缩放算法

如果要让图片自适应窗口,只要将width,height设为窗口的宽和高。

import javax.swing.*;
import java.awt.*;

public class Frame_Test {
public static void main(String[] args) {
JFrame jFrame=new JFrame(""); //创建一个窗口
jFrame.setSize(400,600);//设置窗口大小
jFrame.setLocationRelativeTo(null);//窗口居中
jFrame.getContentPane().setLayout(null);//无布局,记得下面添加控件时要设置它们位置和大小
JPanel imPanel=(JPanel) jFrame.getContentPane();//注意内容面板必须强转为JPanel才可以实现下面的设置透明
imPanel.setOpaque(false);//将内容面板设为透明
ImageIcon icon=new ImageIcon("src/dogy.jpg");//背景图
JLabel label = new JLabel(icon);//往一个标签中加入图片
label.setBounds(0, 0, jFrame.getWidth(), jFrame.getHeight());//设置标签位置大小,记得大小要和窗口一样大
icon.setImage(icon.getImage().getScaledInstance(label.getWidth(), label.getHeight(), Image.SCALE_DEFAULT));//图片自适应窗口大小
jFrame.getLayeredPane().add(label, Integer.valueOf(Integer.MIN_VALUE));//标签添加到层面板
jFrame.setVisible(true);//设置窗口可见
}
}





标签:jFrame,java,缩放,调节,label,算法,SCALE,图像,图片大小
From: https://www.cnblogs.com/luo9tian/p/18083677

相关文章

  • 使用Selenium执行JavaScript脚本:探索Web自动化的新领域
    前言在我们使用selenium进行自动化测试的时候,selenium能够帮助我们实现元素定位和点击输入等操作,但是有的时候,我们会发现,即使我们的元素定位没有问题,元素也无法执行操作;也有部分情况是我们无法直接定位滚动条河时间控件来进行操作,这个时候,我们就需要借助JavaScript来解决问题。......
  • Java 学习笔记:面向对象
    目录Java学习笔记:面向对象什么是面向对象面向过程和面向对象创建与初始化对象回顾方法类与对象的关系构造方法(构造器)创建构造器内存分析封装、继承方法重载super关键字多态instanceof关键字static抽象类接口内部类Java学习笔记:面向对象2024/3/19狂神学Java:学习链接什么是面......
  • Java智慧城管系统源码 数字城管APP系统源码 城市管理综合执法监督系统源码
     Java智慧城管系统源码 数字城管APP系统源码城市管理综合执法监督系统源码一、系统概述  智慧城管系统是一个基于现代信息技术手段的综合管理平台,旨在通过强化信息获取自动化、监督管理精细化、业务职能协同化、服务手段多样化、辅助决策智能化以及执法手段人性化,实......
  • JavaScript笔记 01
    目录01js概述02js代码的基本使用03js变量的基本使用04变量的类型05数值类型06字符串类型07布尔类型08 使用typeof查看变量的类型09其他类型转换为字符串类型10其他数据类型转换为数值型11其他数据类型转换成布尔类型12小知识点01js概述前端的三......
  • Java自定义注解实现参数校验
    1、定义注解内    自定义如下,本例子以校验手机号码为例需要校验手机号码标上此注解即可。其中Mobilelidator类则是实现自定义校验ConstraintValidator类的接口实现类2、ConstraintValidator 定义接口实现  ConstraintValidator 自定义接口实现如下图......
  • 04747 JAVA语言设计必备考点整理(一)
    标识符的命名规则由英文字母大小写,数字,下划线,美元符组成的字符串,其中数字不能作为标识符的开头,区分大小写 package语句和import语句的区别package语句:包语句,每个文件最多有一个,必须放在文件开始的地方import语句:引入语句,可以没有,可以由多个。如......
  • Java基础入门
    1.Java概述1.1Java语言背景介绍语言:人与人交流沟通的表达方式计算机语言:人与计算机之间进行信息交流沟通的一种特殊语言Java语言是美国Sun公司(StanfordUniversityNetwork)在1995年推出的计算机语言Java之父:詹姆斯·高斯林(JamesGosling)2009年,Sun公司被甲骨文公司收购,所......
  • java数据结构与算法刷题-----LeetCode1005. K 次取反后最大化的数组和(这就不是简单题)
    java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846卷来卷去,把简单题都卷成中等题了文章目录1.排序后从小到大取负2.hash表从小到大排序,省掉排序(这就是为什......
  • java数据结构与算法刷题-----LeetCode134. 加油站
    java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846文章目录1.贪心2.动态规划1.贪心解题思路:时间复杂度O(......
  • 基于Java中的SSM框架实现宝康药房销售管理系统项目【项目源码+论文说明】
    基于Java中的SSM框架实现宝康药房销售管理系统演示摘要随着我国市场经济的蓬勃发展和人们对医药产品需求的迅速增加,医药销售行业正处于一个高速发展的时期。行业的快速发展必然导致竞争的加剧,面对药品销售业日益严酷的竟争现实,加强管理、提高工作效率和改善服务质量成了急......