- 博客(8)
- 收藏
- 关注
原创 Java Swing 图像滤镜项目 | 撤销功能(多图层Undo)完美实现 —— 支持连续无限次撤回!
本文介绍了一种在Swing图像处理项目中实现多步撤销功能的方法。通过采用图层数组思想,仅需新增不到50行代码即可实现连续无限次撤销(理论100步)。核心方案是使用BufferedImage[]数组记录每一步处理后的图像,在撤回时取出上一张图像显示。该方法不改动原有滤镜逻辑,支持窗口操作和缩放功能,且实现简单高效。文章详细展示了MPanel、PixelListener和PixelUI三个关键类的修改代码,并演示了完美撤销效果。最后提出了进阶优化建议,如改用动态数组、增加重做功能和操作记录显示等。
2026-03-22 21:28:12
27
原创 Java Swing 图像处理项目重绘问题彻底解决 | 自定义 JPanel + BufferedImage 持久化绘制实战
摘要: 本文针对Java Swing图像滤镜项目中常见的重绘问题(窗口拖动、遮挡后图片消失),分析了Swing双缓冲机制导致临时绘图丢失的根本原因。提出通过自定义MPanel类持久化BufferedImage的解决方案:1)重写paint()方法实现永久绘制;2)使用setBufferedImage()更新图像并触发repaint()。核心代码仅需30行,通过保存图像状态确保系统重绘时能恢复显示。测试表明该方法有效解决了马赛克/灰度等滤镜应用后的图像闪退问题,并支持窗口缩放等操作。建议后续优化可改用pain
2026-03-11 21:10:03
372
原创 Java 图像处理进阶:手写9种滤镜算法(含油画/浮雕/马赛克)与双缓冲绘图优化
在上一版博客中,我们实现了基础的绘图功能。今天,我们将代码进行了重构与升级,带来了一个功能更强大的Java 图像处理工具箱。本文不仅实现了马赛克、灰度、二值化等基础效果,还深度解析了油画、浮雕等复杂算法的实现原理。我们将重点讲解如何利用卷积矩阵(Kernel)处理图像,以及如何通过双缓冲技术解决界面闪烁问题。
2026-02-01 04:00:33
583
原创 scanf函数用法详解
摘要:scanf函数是C语言中用于读取格式化输入的标准函数,需包含stdio.h头文件。其基本语法为int scanf(const char* format,...),通过格式说明符(%d、%f等)读取不同类型数据。使用时需注意变量地址传递(使用&运算符)和格式匹配问题。典型应用包括读取整数、浮点数、字符串等数据,返回值表示成功读取的数据项数。
2026-02-01 02:26:05
222
原创 Java 图像处理实战:手写马赛克与灰度算法 + 深度解析计算机字节与位运算
本文介绍了基于Java AWT库的图像处理技术实现,重点解析了像素操作的核心原理。通过位运算提取RGB颜色值(>>和&运算符),深入探讨了计算机存储数据的底层机制。项目实现了灰度化(加权平均算法)和马赛克(区域采样)两种图像处理效果,并详细分析了算法代码。文章还总结了图像处理的关键知识点,包括资源路径管理、内存优化和双缓冲技术。通过这个实践项目,读者既能掌握图像处理技术实现,又能理解计算机底层的数据存储原理,实现了从应用层到底层的知识贯通。
2026-01-26 23:38:25
1060
原创 Java Swing 绘图板实战:手把手教你实现多边形绘制与颜色切换(附源码解析)
摘要:本文介绍了一个简易Java绘图板的开发过程,重点讲解了如何利用Graphics类结合MouseListener和ActionListener实现交互式绘图功能。项目采用界面与逻辑分离的设计模式,核心功能包括直线、矩形、三角形和多边形绘制,以及颜色切换。文章详细解析了绘图原理、事件处理和状态管理,特别对多边形绘制的顶点存储和闭合逻辑进行了深入说明。同时指出了直接使用Graphics对象可能导致的绘图消失问题,并提供了运行效果展示和开发注意事项。
2026-01-23 23:47:05
754
原创 从零开始的Java Swing登录系统构建——深入解析界面布局与事件监听机制(附源码)(新增注册功能)
本文介绍了使用Java Swing库开发图形用户界面的登录与注册系统。首先对比了AWT和Swing的区别,选择Swing作为开发工具。详细讲解了Swing的核心组件(JFrame、JLabel、JTextField等)和布局管理器(FlowLayout)的使用方法。通过Login类构建界面,包含图片、账号密码输入框及登录/注册按钮,并采用ButtonListener类处理事件交互。特别新增了注册功能实现,使用HashMap存储用户信息作为简易数据库。文中提供了完整的代码示例,展示如何创建美观的GUI界面并实
2026-01-19 22:55:59
649
原创 【小白必看】Java中类与对象的概念详解及示例源代码分析
本文通过生活案例和代码实例讲解Java中类与对象的核心概念。类作为抽象模板(如"电脑"),定义对象的属性与方法;对象是类的具体实例(如"我的电脑")。文章以学习系统为例,演示如何设计Student和Course类,通过构造方法创建对象并调用方法实现功能(如学生学分累加)。关键点包括:类与对象的区别、构造方法的作用、面向对象编程的基本步骤(分析对象→设计类→创建对象→调用方法)。代码示例展示了从类定义到对象创建及方法调用的完整流程,帮助理解面向对象编程原理。
2026-01-16 05:15:56
58
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅