Java图片剪切

JAVA实现gif图片缩放与剪切功能 上次发了一个工具类,可以针对一般的图片进行处理,算是个微型版,比较实用,这个是完整版,可以处理gif动态图片 java图片处理工具类: package com.pinker.util; import java.awt.Color; import java.awt.Graphics; import java.awt.Image; import java.awt.image.BufferedI 阅读详情

package com.sony.vaiogate.ads.common.util;
import java.awt.Rectangle;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.Iterator;
import javax.imageio.ImageIO;
import javax.imageio.ImageReadParam;
import javax.imageio.ImageReader;
import javax.imageio.stream.ImageInputStream;
import javax.imageio.stream.ImageOutputStream;
public class ImageTools {
   
 /**cut out picture*/
 public static File cutting(String path,File file,int x,int y,int width,int height){
   try{
    String endName=file.getName();
    endName=endName.substring(endName.lastIndexOf(".")+1);
    Iterator<ImageReader> readers=ImageIO.getImageReadersByFormatName(endName);
    ImageReader reader = (ImageReader)readers.next();
    InputStream is=new FileInputStream(file);
    ImageInputStream iis = ImageIO.createImageInputStream(is);
    reader.setInput(iis,true);
    ImageReadParam param = reader.getDefaultReadParam();
    Rectangle rect = new Rectangle(x,y,width,height);
    param.setSourceRegion(rect);
             BufferedImage bi = reader.read(0,param);
             File newFile=new File(path+"c_"+file.getName());
             //if(!newFile.exists())newFile.mkdirs();
             ImageOutputStream out=ImageIO.createImageOutputStream(new FileOutputStream(newFile));
             ImageIO.write(bi,endName,out);
             file=newFile;
   
   }catch(Exception e){
    e.printStackTrace();
   }
   return file;
 }
 public static String CutOutPicture(String path,String pictureName,int previewWidth,int prebiweHeight){
   
          BufferedImage image = null;  
          try {  
          File file=new File(path+pictureName);
             image = ImageIO.read(file);
             int pictureWidth = image.getWidth();// width
             int pictureHeight = image.getHeight();// height
             int cutWidth = 0; //cut width
             int cutHeight = 0;//cut height
             int xWidth  = 0;  //start cut x
             int yHeight = 0;  //start cut y

             if((float)pictureWidth/(float)pictureHeight > (float)previewWidth/(float)prebiweHeight){
              cutWidth = (int)((float)pictureHeight * (float)previewWidth / (float)prebiweHeight);
              xWidth = (pictureWidth-cutWidth)/2;
              cutHeight = pictureHeight;
             }
             if((float)pictureWidth/(float)pictureHeight < (float)previewWidth/(float)prebiweHeight){
              cutHeight = (int)((float)pictureWidth * (float)prebiweHeight / (float)previewWidth);
              yHeight = (pictureHeight-cutHeight)/2;
              cutWidth = pictureWidth;
             }
             System.out.println("pictureWidth=" + pictureWidth);  
             System.out.println("pictureHeight=" + pictureHeight); 
             System.out.println("xWidth=" + xWidth);  
             System.out.println("yHeight=" + yHeight);
             System.out.println("cutWidth=" + cutWidth);  
             System.out.println("cutHeight=" + cutHeight);
             ImageTools.cutting(path,file,xWidth,yHeight,cutWidth,cutHeight);
          } catch (Exception e) {  
             e.printStackTrace();  
          }  
  return null;
 }
 public static void main(String args[]){
      String pictureName = "xx1.jpg";
      String path = "D:/";
      int previewWidth  = 114; //previewWidth
      int prebiweHeight = 64; //prebiweHeight
   ImageTools.CutOutPicture(path,pictureName,previewWidth,prebiweHeight);
 }
 /*
        //Draw picture.
        {
            int iWidth = m_pBitmap->GetWidth();
            int iHeight = m_pBitmap->GetHeight();

            CRect rct(0, 0, iWidth, iHeight);
            if ((float)rct.Width() / (float)rct.Height() > (float)m_rctClient.Width() / (float)m_rctClient.Height())
            {
                iWidth = (int)((float)iHeight * (float) m_rctClient.Width() / (float)m_rctClient.Height());
                int iMargin = (rct.Width() - iWidth) / 2;
                rct.left += iMargin;
                rct.right -= iMargin;
            }

            if ((float)rct.Width() / (float)rct.Height() < (float)m_rctClient.Width() / (float)m_rctClient.Height())
            {
                iHeight = (int)((float)iWidth * (float)m_rctClient.Height() / (float)m_rctClient.Width());
                int iMargin = (rct.Height() - iHeight) / 2;
                rct.top += iMargin;
                rct.bottom -= iMargin;
            }
            pRT->DrawBitmap(m_pBitmap, GetRect_2(m_rctClient), GetRect_2(rct), 1.0F, FALSE);
        }
   */
}

 

VBA中如何使用Edge内核Browser? 在微软宣布停止对IE的支持后,许多使用VBA中Web Browser的用户遇到了困境,因为Web Browser使用的IE内核。然而微软并没有给出支持Edge的新版Web Browser,网上许多第三方的库也不够完善。经过调研,libEdge可以较好的和VBA集成,实现在Excel中打开Browser,甚至能够通过执行js代码,获取web页面的信息。项目需要WebView2Loader.dll和LibEdge.dll两个库,区分x86和x64版本。 阅读详情

相关推荐

petalinux i2c的配置

1.硬件平台配置 1.内核配置 cd petalinux-config -c kernel -> Device Drivers -> I2C support -> i2C Hardware Bus support -> Xilinx I2C Controller Pressing 启用CONFIG_I2C_XILINX=y 2.修改用户设备树 cd cd project-spec/meta-user/recipes-bsp/device-tree/files/ i2c2:

u013403954的博客 4313

java 剪切 图片 BufferedImage

一:对于磁盘上的图片; /**      * 函 数 名: cut      * 功能描述:对图片裁剪,并把裁剪完蛋新图片保存 。       * 创 建 人: 王国庆      * 日 期: 2013-2-22      * 输入输出:      *       * @param lastdir      *            后缀      * @param src

xiaoxiao_72699的专栏 8838

Halcon阈值算子 -- 局部阈值之dyn_threshold

Halcon阈值算子 – dyn_threshold HALCON有很多阈值算子,接下来将一一介绍。本文先介绍dyn_threshold。 以下介绍主要参考HALCON帮助文档,并加上自己的体会。如有纰漏,欢迎留言指出 理论介绍 dyn_threshold算子的函数签名如下: dyn_threshold(OrigImage, ThresholdImage : RegionDynThresh : Offset, LightDark : ) 输入参数有: OrigImage:待处理图像 ThresholdIm

m0_47015717的博客 5385

java实现高清图片剪切

前提:要想实现图片的高清剪切,需要保证原始图片是高清图片,且本程序运行剪切后可大幅度缩小图片的大小 主程序main()方法 public static void main(String[] args) throws Exception { try { /** * 指定剪切后图片的宽高 */ cutImage1("D:\\Mercedes-Benz.jpg", "D:\\Mercedes-Benz1.jpg", 500, 400).

wh_07的博客 2491

使用嘉立创绘制STM32F103T8C6最小系统板

使用嘉立创EDA绘制一个属于自己的STM32最小系统板

weixin_67887035的博客 1万+

Sigrity Power Tree如何生成电源树操作指导

Sigrity Power Tree可以方便地生成电源树,仅需要网表文件就能将系统的电源树直观的显示出来,生成的电源树文件可以用Power DC,optimizePI进行直流和交流仿真,下面介绍如何生成电源树。Base on [Device_TYPE and VALUE]就是识别网表中器件的Device_TYPE作为power tree中的模型的名字。Allegro layout netlist file,就是从Allegro layout文件中输出的netlist第三方网表文件。如何生成电源树操作指导。

weixin_54787054的博客 1534

java 复制图片到剪切板

java 如何复制图片到剪切板呢? 下面是我做的一个软件:项目源代码见附件  这里面就有"复制图片到剪切板"功能.核心方法如下: /*** * 复制图片到剪切板 * @param image */ public static void setClipboardImage(JFrame frame, final Image image) { Transferabl...

hw1287789687的专栏 1051

基于STM32L4XX、HAL库的AD7124模数转换器ADC驱动程序设计

/ 检查ID是否正确 (AD7124-4/AD7124-8有不同的ID)// 转换为电压值 (假设使用内部2.5V基准)// 构造读命令: 1(R/W) + 1(0) + 6(寄存器地址)// 构造写命令: 0(R/W) + 1(0) + 6(寄存器地址).config = 0, // 使用配置0。内置可编程增益放大器(PGA):1-128倍。// 读取ADC数据。// 读取当前ADC控制寄存器。// 检查数据是否就绪。// 写回ADC控制寄存器。// 初始化AD7124。

zhusl6688的博客 520

java图片剪切一个圆形

给大家整理了一些有关【图像处理】的项目学习资料(附讲解~~):https://edu.51cto.com/course/32441.htmlhttps://edu.51cto.com/course/32398.html以一些关于【图像处理】的学习资料和大家一起分享一下:https://edu.51cto.com/vi...

weixin_32384503的博客 173

从零开始讲DDR(5)——读懂Datasheet

对于开发人员来说,需要根据实际场景和使用的需要,使用不同厂家,不同型号的DDR,虽然原理上大同小异,但是还是有一些细节上的需要注意的地方,接触一个新的DDR芯片,首先就是需要找到对应的datasheet,而能都读懂datasheet,也是一个硬件工程师的必备技能。

apple_53311083的博客 5221

置顶必读(2) | 《YOLOv11实战:从入门到深度优化》目录导航篇(持续更新中)

🏆 本文收录于 《YOLOv11实战:从入门到深度优化》 专栏。 本专栏系统梳理并持续复现全网各类 YOLOv11 / YOLO系列改进方案与实战案例,目前已覆盖 分类、检测、分割、追踪、关键点、OBB 检测 等多个方向。 内容坚持 持续更新 + 深度拆解 + 工程落地导向,不仅讲“怎么改”,更讲“为什么这样改、如何真正落地到项目中”。

**My Coding Family** 11万+

Java把图片复制到剪切板上

这里只能操作图片  其他类型的资源在这里不适应 /** * 把转入的图片资源设置到剪切板上 * @param image 可以是image 或者是BufferedImage类型 */ //类名.setImageClipboard(img); //给剪切板设置图片型内容 public static void setImage(Image image) { Images im

singleton_zw 3195

RK3568平台(camera篇) MPP编码

同芯片的差异,为使用者提供统一的视频媒体处理接口(Media Process Interface,缩写 MPI)。瑞芯微提供的媒体处理软件平台(Media Process Platform,简称 MPP)是适用于瑞芯微芯片系列的。mpi_enc_test 的命令参数中,图像宽度(w)图像高度(h),码流类型(t)为强制要求参数,其他参。视频拷贝,缩放,色彩空间转换,场视频解交织(Deinterlace)数如输入文件(i),输出文件(o),编码帧数(n)等为可选参数。设置一些MPP的模式。

weixin_49303682的博客 7379

java上传图片裁剪_java上传图片剪切工具类

package com.up.util;import java.awt.Rectangle;import java.awt.image.BufferedImage;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.util.Iterator;import javax.i...

weixin_28687331的博客 155

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Java 图片剪切、水印、旋转、格式转换

Java 图片处理 首先对于刚刚接触Java的朋友们,图片的处理可能是一个难点,因为可能大家在之前的培训或者工作经历中没有接触过相似的需求,这里我为大家总结了一些关于图片处理的一些代码。 <!-- 首先我们使用了net.coobird.thumbnailator的jar包 --> <dependency> <groupId>net.coobird</gr...

MR.Zhang的博客 226

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

java 对 上传图片剪切

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34267123的博客 107

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

jQuery与Java实现图片的剪切

jQuery与Java实现图片的剪切 博客分类: J2EEJqueryJavaJSP 一 参考资料 1 jquery Jcrop 头像,logo截图  http://terje.blog.163.com/blog/static/11924371201101311319664/ 2 javascript+java截取图像,图像处理 http://www.blogjava.

feiyu84的专栏 2786

本地剪切板 java,java:复制图片到系统剪切板 然后怎么以图片文件的形式粘贴至本机...

java:复制图片到系统剪切板 然后如何以图片文件的形式粘贴至本机?本帖最后由 u013531487 于 2014-07-16 22:56:44 编辑代码列在下边问题是:我先获取了待保存的图片数据,保存在BufferedImageimage中,然后调用setClipboardImage()保存到系统剪切板中,那么再如何将剪切板中的图片数据以png或JPG形式保存到本机上(D盘)呢?是不是在保存...

weixin_35712223的博客 336

Java图片缩放剪切处理:

Java图片缩放剪切处理: package action;import java.awt.Graphics;import java.awt.Image;import java.awt.Toolkit;import java.awt.image.BufferedImage;import java.awt.image.CropImageFilter;import java.awt.image.F

待定的专栏 766

java根据图片链接复制图片到剪切板

/** * 复制图片到剪切板。 */ public static void setClipboardImage(final Image image) { Transferable trans = new Transferable() { public DataFlavor[] getTransferDataFlavors() {

空灵的专栏 1223

java 剪切 压缩 图片

剪切图片 package com.ad.web.servlet.userimg.imgprocess.cutimg; import java.awt.Graphics; import java.awt.Image; import java.awt.Toolkit; import java.awt.image.BufferedImage; import java.awt.image.Cr

shine4j的专栏 677

jQuery与Java实现图片的剪切---资料总结

一 参考资料  1 jquery Jcrop 头像,logo截图   http://terje.blog.163.com/blog/static/11924371201101311319664/  2 javascript+java截取图像,图像处理  http://www.blogjava.net/b47248054/articles/200685.html  3 js+java 截取

holeeye的专栏 812

Java工具类——实现静态图片剪切缩放功能

一般网站都有自定义头像功能,用户可以上传自己喜欢的图片,然后选取合适的位置,大小,经过裁剪作为自己的头像。这个过程涉及到js裁剪图片,服务器处理图片。 js裁剪一般都使用现成的js类库,如jcrop,这个比较好用。图片经过jcrop剪切后,jcrop能够将剪切信息发送到后台,其实真正的剪切过程是在后台做的。jcrop只是搜集数据。本代码中没考虑gif动态图片。 下面是项目中用到的Java实现的

Golden_lion的博客 1085

java代码编写 身份证图片剪切旋转并保存为新图

Java实现身份证图片剪切旋转并保存为新图 作为一名刚入行的开发者,你可能会遇到需要对图片进行处理的需求,比如剪切、旋转身份证图片并保存为新图。本文将指导你使用Java实现这一功能。 流程概览 首先,我们需要了解整个流程,以下是一个简单的流程表: 步骤 描述 1 读取身份证图片 2 剪切身份证图片 3...

weixin_41047633的博客 459

Java工具类——实现gif图片缩放与剪切功能

Java工具类——实现gif图片缩放与剪切功能

hftyhv的博客 550

java图片文件处理工具类【包括图片缩放,剪切等功能】

java图片文件处理工具类【包括图片缩放,剪切等功能】 package com.taocz.youngth.util; import java.awt.Graphics; import java.awt.GraphicsConfiguration; import java.awt.GraphicsDevice; import java.awt.GraphicsEnvironment; impo

jammiwang19870815的专栏 1万+
上一篇: 按钮联动
下一篇: ico图片转换
lb8607
博客等级 码龄18年 17粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lb8607

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值