首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏通过编写游戏学Java系列教程

    使用Java开发一个大型街机动作闯关类游戏05图像仿射变换(平移和缩放操作)

    项目源码 项目源码 坐标变换 package sprite; import java.awt.geom.AffineTransform; public class Transform { private double _x; private double _y; private AffineTransform _at; private AffineTransform _rat; private double _cx; private double _cy; public Transform(){ _rat = new AffineTransform(); _x = 0; _ y = 0; } public void translate(double x,double y){ _at = new AffineTransform(); _at.translate public double getX(){ return _x+_cx; } public double getY(){ return _y+_cy; } public AffineTransform

    72500编辑于 2022-01-12
  • 来自专栏JAVA乐园

    JAVA生成椭圆形签章

    java.awt.Graphics2D; import java.awt.Polygon; import java.awt.font.FontRenderContext; import java.awt.geom.AffineTransform transform = AffineTransform.getRotateInstance(aa); Font f2 = f.deriveFont(transform transform = AffineTransform.getRotateInstance(-aa); Font f2 = f.deriveFont(transform transform = AffineTransform.getRotateInstance(aa); Font f2 = f.deriveFont(transform transform = AffineTransform.getRotateInstance(-aa); Font f2 = f.deriveFont(transform

    1.1K10编辑于 2022-06-30
  • 来自专栏IT杂谈学习

    已解决:`java.awt.geom.NoninvertibleTransformException:在Java2D中无法逆转的转换`

    一、分析问题背景 java.awt.geom.NoninvertibleTransformException是Java2D图形处理中常见的异常之一,通常在尝试获取AffineTransform对象的逆变换时抛出 AffineTransform是Java2D中用于进行几何变换的类,它支持缩放、旋转、平移和错切等操作。 场景示例: AffineTransform transform = new AffineTransform(); // 设置缩放因子为0 transform.scale(0, 1); try { // 尝试获取逆变换 AffineTransform inverse = transform.createInverse(); } catch (NoninvertibleTransformException 下面是一个正确的代码示例: public void applyTransform(Graphics2D g2d) { AffineTransform transform = new AffineTransform

    76210编辑于 2024-08-15
  • 来自专栏小灰灰

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

    图片旋转 图片旋转作为一个常见功能,实际使用中用处挺多,但是这次实现却遇到了个小问题,记录一二 使用的几个类 Graphics2d AffineTransform BufferedImage 1. AffineTransform 方式 BufferedImage bufferedImage = ImageUtil.getImageByPath("bg.png"); AffineTransform tx = new AffineTransform(); tx.rotate(0.5, bufferedImage.getWidth() / 2, bufferedImage.getHeight() /

    1.9K60发布于 2018-02-06
  • 来自专栏DevOps

    Geotools Image Tif 打开影像文件,写入数据,并且保存

    double nodata = reader.read(null).getSampleDimension(0).getNoDataValues()[0]; //scalex,scaley 像元获取 AffineTransform trs = (AffineTransform)reader.read(null).getGridGeometry().getGridToCRS(); metaInfo.setScaleX(trs.getScaleX

    67510编辑于 2024-03-29
  • 来自专栏IT码农

    Graphics2D 绘制图形-圆角矩形,矩形,椭圆、圆弧等

    首先创建AffineTransform对象,然后调用setTransform()方法设置transform属性。最后,用具有指定属性的Graphics2D对象绘制图形。 创建AffineTransform对象的方法有: getRotateinstrance(double theta):旋转theta弧度。 也可以先创建一个没有transform属性的AffineTransform对象,然后用以下方法指定图形平移、旋转、缩放变换属性。 例如,创建AffineTransform对象:     AffineTransform trans = new AffineTransform(); 为AffineTransform对象指定绕点旋转变换属性

    3.9K20编辑于 2023-03-16
  • 来自专栏用户9257747的专栏

    5分钟搞定 SpringBoot 图形验证码功能

    .*; import java.awt.geom.AffineTransform; import java.awt.image.BufferedImage; import java.util.Random theta : -theta; AffineTransform affineTransform = new AffineTransform(); affineTransform.rotate(Math.toRadians(theta), 0, 0); font = font.deriveFont(affineTransform

    7.4K40编辑于 2022-04-07
  • 来自专栏Nicky's blog

    Java图片处理实战:如何优雅地实现上传照片智能压缩

    graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); // 执行缩放操作 AffineTransform transform = AffineTransform.getScaleInstance(scale, scale); graphics.drawRenderedImage(originalImage org.springframework.stereotype.Component; import javax.imageio.ImageIO; import java.awt.*; import java.awt.geom.AffineTransform RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); // 执行缩放操作 AffineTransform transform = AffineTransform.getScaleInstance(scale, scale); graphics.drawRenderedImage(originalImage

    65510编辑于 2025-07-15
  • Java 图片处理简易指南

    *;import java.awt.geom.AffineTransform;import java.awt.image.BufferedImage;import java.io.File;import width, height, originalImage.getType()); Graphics2D g2d = rotatedImage.createGraphics(); AffineTransform transform = new AffineTransform(); transform.rotate(Math.toRadians(angle), width / 2, height class JAIRotation { public static PlanarImage rotateImage(PlanarImage image, double angle) { AffineTransform transform = new AffineTransform(); transform.rotate(Math.toRadians(angle), image.getWidth() /

    99710编辑于 2024-08-02
  • 来自专栏棒棒小飞人

    Java生成验证码的代码

    java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.geom.AffineTransform 110),20+rand.nextInt(110),20+rand.nextInt(110))); /**旋转**/ Graphics2D g2d=(Graphics2D)g; AffineTransform trans=new AffineTransform(); trans.rotate(rand.nextInt(45)*3.14/180,15*i+8,7); /**缩放**/

    1.4K00发布于 2021-09-23
  • 来自专栏携程技术

    干货 | 国际化探索之路-Trip.com如何走进阿拉伯市场

    以页面为维度,指定各view是否翻转显示; 根据设置的显示方式,设置各view.layer.affineTransform 属性的值,使其达到最终效果。 如何判定 “view是否翻转展示” ? view的显示效果有两个因素决定: "superView是否翻转展示” view.layer.affineTransform superView 是否翻转展示 view.layer.affineTransform Flip Normal CGAffineTransformIdentity Normal 根据 “superView 是否翻转展示” 及 “view是否翻转展示” 可以得到 view.layer.affineTransform = CGAffineTransformMakeScale(-1,1); } else { self.layer.affineTransform = CGAffineTransformIdentity didMoveToSuperview 及 didMoveToWindow; 计算出shouldFlipSuperview, shouldFlipCurrentView; 计算出self.layer.affineTransform

    5.5K41发布于 2020-06-17
  • 来自专栏码客

    验证码类

    java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import java.awt.geom.AffineTransform char[] chars = code.toCharArray(); for (int i = 0; i < verifySize; i++) { AffineTransform affine = new AffineTransform(); affine.setToRotation(Math.PI / 4 * rand.nextDouble() * (

    1.2K10发布于 2019-10-22
  • 来自专栏AI研习社

    一文详解 DNN 在声学应用中的模型训练

    1413 $ hmm-info final.mdl | grep pdfs | awk '{ print $NF }' 1026 因此,看到神经网络的输出维度为1026,这时查看nnet_proto: <AffineTransform BiasRange> 4.000000 <ParamStddev> 0.037344 <MaxNorm> 0.000000 <Sigmoid> <InputDim> 1024 <OutputDim> 1024 <AffineTransform BiasRange> 4.000000 <ParamStddev> 0.109375 <MaxNorm> 0.000000 <Sigmoid> <InputDim> 1024 <OutputDim> 1024 <AffineTransform BiasRange> 4.000000 <ParamStddev> 0.109375 <MaxNorm> 0.000000 <Sigmoid> <InputDim> 1024 <OutputDim> 1024 <AffineTransform BiasRange> 4.000000 <ParamStddev> 0.109375 <MaxNorm> 0.000000 <Sigmoid> <InputDim> 1024 <OutputDim> 1024 <AffineTransform

    1.7K60发布于 2018-03-19
  • 来自专栏Java技术记号

    2小时开发《点球射门游戏》,动画演示思路(上),代码已开源

    g2d.setColor(Color.WHITE); g2d.fillRect(0,175,getWidth(),5); AffineTransform oldTx = g2d.getTransform (); Stroke stroke = new BasicStroke(5); g2d.setStroke(stroke); AffineTransform tx = new AffineTransform tx.setToShear(-0.5, 0); g2d.setTransform(tx); g2d.drawRoundRect(getWidth()*5/20,175,getWidth()*6/10,120,10,10); AffineTransform tx2= new AffineTransform(); tx2.setToShear(0.5, 0); g2d.setTransform(tx2); g2d.drawRoundRect(getWidth

    50430编辑于 2022-12-14
  • 来自专栏微信公众号:Java团长

    Java生成、解析二维码

    它是实现解析二维码图片的核心类: import com.google.zxing.LuminanceSource; import java.awt.Graphics2D; import java.awt.geom.AffineTransform int sourceWidth = image.getWidth(); int sourceHeight = image.getHeight(); AffineTransform transform = new AffineTransform(0.0, -1.0, 1.0, 0.0, 0.0, sourceWidth); BufferedImage rotatedImage

    1.3K10发布于 2018-08-06
  • 来自专栏正则

    Java文字转图片防爬虫

    .*; import java.awt.font.FontRenderContext; import java.awt.geom.AffineTransform; import java.awt.geom.Rectangle2D Font font) { Rectangle2D r = font.getStringBounds(text, new FontRenderContext( AffineTransform.getScaleInstance

    10.2K40编辑于 2021-12-06
  • 来自专栏Java Tale

    Java 生成透明图片

    \*;import java.awt.font.FontRenderContext;import java.awt.geom.AffineTransform;import java.awt.geom.Rectangle2D Font font) { Rectangle2D r = font.getStringBounds(text, new FontRenderContext( AffineTransform.getScaleInstance

    1.4K10编辑于 2023-02-06
  • 来自专栏好好学java的技术栈

    Java如何实现二维码?【附源码】

    BufferedImageLuminanceSource) 不废话,直接上代码 package org.javaboy.util; import java.awt.Graphics2D; import java.awt.geom.AffineTransform { int sourceWidth = image.getWidth(); int sourceHeight = image.getHeight(); AffineTransform transform = new AffineTransform(0.0, -1.0, 1.0, 0.0, 0.0, sourceWidth); BufferedImage rotatedImage

    1.8K10发布于 2020-12-21
  • 来自专栏Dotnet9

    SwiftUI图片处理(缩放、拼图)

    // create affine transform to flip CIImage let affineTransform: NSAffineTransform = NSAffineTransform () affineTransform.translateX(by: 0, yBy: 128) affineTransform.scaleX(by: 1, yBy: -1) transform.setValue(ciImage, forKey: "inputImage") transform.setValue(affineTransform, forKey:

    4.9K20发布于 2021-12-01
  • 来自专栏跟牛老师一起学WEBGIS

    java地图导出——添加经纬线

    ; // 上面的文字 graphicsMerge.drawString(lon, x1 - textWidth, y2 + 20); // 下面的文字 } } // 旋转文字 AffineTransform affineTransform = new AffineTransform(); affineTransform.rotate(Math.toRadians(-90), 0, 0); Font rotatedFont = font.deriveFont(affineTransform); graphicsMerge.setFont(rotatedFont); for (int i = latIndexMin; i

    1K30编辑于 2023-02-27
领券