package com.java.test_IO;
import java.io.RandomAccessFile;
/**
* 表示一个已经存在的Bmp图片,
* 并提供一些对该图片绘画的功能
* @author teacher
*/
public class getClourlong {
static int width;
static int height;
static RandomAccessFile ran;
public getClourlong(String fl) throws Exception{
ran = new RandomAccessFile(fl,"rw");
ran.seek(18);
width = width | ran.read();
width = width | ran.read() << 8;
width = width | ran.read() <<16;
width = width | ran.read() <<24;
height = height | ran.read();
height = height | ran.read()<<8;
height = height | ran.read()<<16;
height = height | ran.read()<<24;
}
public static void reverse() throws Exception {
int line = width*3 + (4 - (width*3%4));
ran.seek(54);
for (int i = 54; i < ran.length(); i++) {
if((i+line)%line<=line){
int m = ~(ran.read());//取反
ran.seek(ran.getFilePointer()-1);//回到当前指针;
ran.write(m);
}
}
System.out.println("转换完毕!!");
}
public static void main(String[] args) throws Exception{
String str="/home/soft22/Desktop/ff.bmp";//图片地址
getClourlong bp = new getClourlong(str);
System.out.println(bp.width+","+bp.height);
reverse();
}
}
引用
转换后(左),原图(右)
分享到:
相关推荐
该项目为基于Java语言的安卓绘画应用设计源码,共计包含55个文件,其中XML配置文件22个,Java源文件10个,图像文件(格式为webp)10个,Git忽略文件3个,Gradle文件3个,属性文件2个,项目配置文件1个,图片文件1个...
在Java编程语言中,事件监听和图形绘画是两个重要的概念,尤其在开发用户界面(UI)应用程序时。这里我们将深入探讨这两个主题,并结合"www.pudn.com.txt"和"国旗"这两个文件名称来理解它们如何关联。 首先,让我们...
在"基于Java Swing界面的PDF绘画工具"项目中,开发人员利用Swing构建了一个用户友好的界面,允许用户在PDF文档上进行绘图操作。这个工具分为两个主要界面:预览界面和配置界面。 预览界面提供了一个可视化的PDF文档...
4. 图片处理:如果需要进行图片的裁剪、缩放等操作,可以使用`java.awt.image`包中的类,如`BufferedImage`和`AffineTransformOp`。 5. 性能优化:为了提高图片加载和显示的速度,可以考虑使用缓冲技术和预加载策略...
"huaban.rar"这个压缩包文件包含了一个名为"huaban"的Java项目,它专注于提供一个类似画板的环境,用户可以在其中进行图片编辑、插入图片、添加文字以及自由书写。下面我们将深入探讨这个项目的相关知识点。 首先,...
本项目为LittlePainter绘画应用的设计源码,采用Kotlin和Java语言开发,总计包含144个文件,其中包括46个Kotlin源文件、40个XML布局文件、23个PNG图片文件、10个WebP图片文件、5个JSON配置文件、4个JPEG图片文件、3...
该项目是一款采用Java语言开发的绘画应用程序源码,包含51个文件,其中包括17个XML配置文件、16个PNG图片资源、4个Java源代码文件、3个Git忽略规则文件、3个Gradle构建脚本文件、2个属性配置文件以及1个JAR包文件等...
Java Swing 是Java GUI(图形用户界面)库的一部分,它提供了丰富的组件和工具来创建桌面应用程序。在本项目中,我们关注...记得实践是掌握知识的关键,尝试运行代码并进行修改,以加深对Java Swing和图形绘制的理解。
这个Java小程序将提供基本的绘图功能,使用户能够通过鼠标或触控设备进行绘画创作。 首先,我们需要理解Java GUI(图形用户界面)的基础。在Java中,我们可以使用Swing或JavaFX库来创建图形界面。在这个项目中,...
在Java编程领域,拖动滑块图片验证是一种常见的安全机制,用于防止自动化脚本或机器人进行非法操作,如批量注册、恶意登录等。这种验证方式通常涉及到图像处理、用户交互以及随机性,使得人类用户可以轻松完成,而对...
该项目是基于Java的ruoyi-ai聊天和绘画功能后端设计源码,包含818个文件,包括644个Java源文件、58个XML配置文件、28个PNG图片文件、18个imports文件、17个VM文件、7个SQL文件、6个Markdown文档、6个YAML配置文件和4...
本项目是一款基于Java的hipainting绘画应用源码,综合...其中,有14个JAR包、12个Java源文件、4个JPG图片、4个PSD设计文件、3个JavaScript文件、3个属性文件以及其他类型文件。该项目旨在提供一个互动式的绘画体验。
【绘画wPaint】是一款专为Java前端开发设计的绘画工具,它提供了丰富的绘画功能,让开发者能够轻松地在Web环境中实现各种复杂的图形绘制。这款工具的出现,极大地扩展了Java Web应用的交互性和创意性,使得前端开发...
如果需要对图片进行编辑,比如裁剪、旋转或缩放,`AffineTransform`类可以帮助我们完成这些操作。 这个Java画图程序可能包含以下组件: - 主窗体,包含菜单栏和工具栏,用于选择画笔、颜色、橡皮擦和保存选项。 - ...
Java GUI小画板是一个利用Java图形用户界面(GUI)技术开发的简单绘画应用程序。这个程序最初设计用于创新项目,特别是为了生成车牌字体并进行编辑。然而,随着项目的进展,这个方案最终被放弃。尽管如此,它依然...
【JAVA简易画图板】是一个基于Java编程语言开发的简单绘图应用程序,它为用户提供了一个基本的图形界面,用户可以通过这个界面进行简单的绘画操作。这个程序包含了一些基本的绘图功能,如绘制形状、使用铅笔工具以及...
根据心电数据,画出相应的心电图(业务场景:由于数据库心电数据过多,在前端画图会有大量的缓存,实现起来不太友好,就直接放在了后台,用java代码的方式画心电图,最终效果和真实的心电图一致)
在本篇博文中,我们将探讨如何使用Java编程语言来实现一个简单的画图板应用程序,并学习如何保存和读取BMP(Bitmap)格式的图片。BMP是一种无损图像格式,通常用于存储像素数据,便于程序处理。以下是实现这一功能所...
在本项目中,"java 在线 画板 嵌入java-applet" 提供了一个在线画板功能,用户可以通过浏览器直接进行绘画操作。这种技术在20世纪90年代末到21世纪初非常流行,用于创建动态、交互式的网页内容。 Java Applet 的...
除了直接绘制Bitmap,我们还可以使用Matrix来对图像进行旋转、缩放、平移等变换。Matrix提供了多种操作方法,如postRotate(), postScale()和postTranslate()。例如,要旋转图像90度: ```java Matrix matrix = new ...