Java 海报-基于Graphics2D 实现个人头像的圆形裁剪

效果:

代码:

    private static BufferedImage resizeAndClipToCircle(BufferedImage image, int size) {// 缩小图片BufferedImage resizedImage = new BufferedImage(size, size, BufferedImage.TYPE_INT_ARGB);Graphics2D g2d = resizedImage.createGraphics();g2d.drawImage(image, 0, 0, size, size, null);g2d.dispose();// 裁剪成圆形BufferedImage circularImage = new BufferedImage(size, size, BufferedImage.TYPE_INT_ARGB);Graphics2D g2d2 = circularImage.createGraphics();Ellipse2D.Double ellipse = new Ellipse2D.Double(0, 0, size, size);g2d2.setClip(ellipse);g2d2.drawImage(resizedImage, 0, 0, size, size, null);g2d2.dispose();return circularImage;}

调用:

   // 读取头像图片BufferedImage avatarImage = ImageIO.read(new File("D:\\test1\\touxiang.png"));// 缩小第五张图片并裁剪成圆形BufferedImage scaledCircularAvatar = resizeAndClipToCircle(avatarImage, 400);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/2252.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

5.组合与继承

1.面向对象 在C中,面向对象(Object-Oriented)是一种程序设计范式,它使用“对象”来设计应用程序和软件。面向对象编程(OOP)的核心概念包括类(Class)、对象(Object&#x…

Vivado综合属性SRL_STYLE怎么用?

“SRL_STYLE”属性是Vivado中用于控制移位寄存器(Shift Register Logic, SRL)映射方式的关键属性。 本文将详细介绍SRL_STYLE的工作原理、可选值及其在实际设计中的应用代码示例。 一、什么是SRL_STYLE? SRL_STYLE属性用于指导Vivado综合工…

方便快捷!使用Roboflow进行数据增强(附详细操作)

最近使用自定义数据集训练yolov8模型的时候突然发现一件很令人头疼的事情。那就是,数据集中图片太少了。于是想通过数据增强的方法扩大数据集。 通过查阅资料发现,大部分人都是用python中的imgaug库进行图像处理;这种方法最大的不便就是需要转…

【贪心算法】Leetcode 55. 跳跃游戏【中等】

跳跃游戏 给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。 示例 1&…

RTT设备驱动框架学习(GPIO)

基类对象,定义在rtdef.h中 struct rt_object {char name[RT_NAME_MAX];rt_uint8_t type; //设备类Devicert_uint8_t flag;rt_list_t list; }; //同一类对象挂接在一个链表上设备基类,定义在rtdef.h中(属于设备接口层) struct rt…

如何通过需求跟踪矩阵加强需求管理?

需求跟踪矩阵是强化需求管理的有效工具,它能直观地展示需求与项目各阶段产出物之间的映射关系,确保每个需求从提出到最终实现都得到严密的跟踪与控制,从而提高需求质量和开发效率,保障项目顺利交付。 如果没有需求跟踪矩阵&#x…

多图详解VSCode搭建Python开发环境

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

【Elasticsearch】Elasticsearch 从入门到精通(二):基础使用

《Elasticsearch 从入门到精通》共包含以下 2 2 2 篇文章: Elasticsearch 从入门到精通(一):基本介绍Elasticsearch 从入门到精通(二):基础使用 😊 如果您觉得这篇文章有用 ✔️ 的…

用Python将原始边列表转换为邻接矩阵

👽发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 在图论和网络分析中,图是一种非常重要的数据结构,它由节点&#xff…

Python 中元组和列表的根本区别是什么?

🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 在 Python 中,元组(Tuple)和列表(List)都是用于存储数据序列的数据结构,它们可以存储任何类型的数据,支持通过索引访问…

【AI开发:音频】一、GPT-SoVITS整合工具包的部署问题解决(GPU版)

前言 目前GPT-SoVITS的合成效果比较不错,相比较其他厂商的产品要规整的多。众多厂家中也是国内使用最多的一款了,并且这个整合包里携带了,除背景音、切割、训练、微调、合成、低成本合成等一些列完整的工具,也可以作为API进行使用…

StartAI智能绘图软件出现“缺少Python运行库”怎么办?

StartAI做为一款国产AI界的新秀,是一款贴合AIGC新手的智能绘图软件。新手安装遇见“缺少Python运行库”怎么办”?小编一招搞定~ 解决方法:手动下载【resource文件】,将文件添加到安装目录下。 点击链接进行手动下载噢~ 确保 Star…

React首次加载渲染2次的问题

在开发React项目的时候,发现useEffect会调用2次的情况,依赖数组明明没有变化,怎么会调用2次?百思不得其解,依赖没变化的话,那肯定是整个组件重渲染了。 最最简单的代码如下: const container …

【抽代复习笔记】14-群(八):变换群中的旋转、位似、平移变换群

定理1:集合A上的所有一一变换的集合G关于变换的乘法(复合)作成群。 证:首先,恒等变换ɛ:A→A(ɛ(x) x)是集合A上的一一变换,所以ɛ∈G,即G≠∅; ①对任意的f,g∈G,由映…

AI人工智能培训老师叶梓:大数据治理的关键工具:开源数据血缘分析系统

在大数据时代,数据的产生和传播速度日益加快,数据之间的关系也变得日益复杂。为了更好地管理和理解数据之间的关系,数据血缘分析系统应运而生。本文将介绍几个开源的数据血缘分析系统,它们在数据治理、数据质量管理和数据隐私保护…

ragflow 大模型RAG知识库使用案例

参考: https://github.com/infiniflow/ragflow/blob/main/README_zh.md 支持丰富的文件类型,包括 Word 文档、PPT、excel 表格、txt 文件、图片、PDF、影印件、复印件、结构化数据, 网页等。 运行步骤: 1、确保 vm.max_map_count 不小于 262144 【更多】: 如需确认 vm.…

ThingsBoard服务端使用RPC通过网关给设备发送消息

一、概述 1、发送服务器端网关RPC 二、案例: 1、建立设备与网关之间的通讯 2、查看设备和网关是否在线状态啊 3、通过 仪表盘,创建设备A的模拟RPC调用的窗口链接 4、在客户端的网关设备上订阅RPC网关的主题信息 5、通过服务端的窗口,发…

3DGS CUDA代码笔记

本篇文章 一Scaffold GS 为例子。 目标在里面添加 Render Depth 的代码: 将可见的 Gaussians Render 到 2D 图像上面 from diff_gaussian_rasterization import GaussianRasterizationSettings, GaussianRasterizer .......rasterizer GaussianRasterizer(raster…

uni-app开发canvas绘图画画,如何实现后退功能

在uni-app中使用canvas进行绘图时,实现后退功能通常意味着你需要保存用户的每一步操作,然后提供一个机制来撤销最近的步骤。下面是一个基本的实现思路: 保存绘图步骤: 每当用户在canvas上绘制时(比如通过touchMove事件…

python 对图片进行操作

Pillow是一个强大的图像处理库,它提供了许多用于打开、操作和保存图像的功能。 Image模块: Image模块提供了用于打开、创建、编辑和保存图像的基本功能。可以使用Image.open()函数来打开图像文件,或者使用Image.new()函数来创建新的图像,还可…