kotlin - 将图像文件转换为负片
问题描述
我想根据以下命令行输入获得特定图像的负片。
-in xyz.png -out xyz_negative.png
加载的文件存储在特定文件夹中。
这是我到目前为止/正在尝试做的事情。
- 读取 png 文件
- 计算每个像素的 RGB 值
- 计算负 RGB 值
- 为 png 文件设置新的 RGB 值以获得负值
我有点卡在最后一步,因为新的 .png 不是负面的。这是我的代码,如果有人可以帮助我或指出我正确的方向,我将非常感激。
import java.awt.Color
import java.io.File
import javax.imageio.ImageIO
fun main(args: Array<String>) {
if (args.isNotEmpty()) {
val myFile = File(
"/Users/xyz/IdeaProjects/Seam Carving/Seam Carving/task/${args[1]}")
val importedImage = ImageIO.read(myFile)
for (x in 0 until importedImage.width) {
for (y in 0 until importedImage.height) {
val pixel = importedImage.getRGB(x, y)
var color = Color(pixel, true)
val redNegative = 255 - color.red
val greenNegative = 255 - color.green
val blueNegative = 255 - color.blue
color = Color(redNegative, blueNegative, greenNegative)
importedImage.setRGB(x, y, color.rgb)
}
}
ImageIO.write(importedImage, "png", File("/Users/xyz/IdeaProjects/Seam Carving/Seam Carving/task/${args[3]}"))
}
}
解决方案
推荐阅读
- excel - 使用字符串通过变量名控制 VBA 表单
- c - 如何将 Pcie 区域模拟为持久内存?
- cmake - 当依赖文件被修改时,如何让 CMake 重新运行 add_custom_command?
- sql-server - 从标志更改为新列时有效地提取列值
- sql-server - 如何通过 AWS RDS SQL Server 主用户执行 sp_changedbowner?
- elasticsearch - 弹性搜索设计 - 改进空间
- amazon-web-services - 在 AWS 的安全组中编辑 IP 地址时遇到问题
- spring-boot - Oauth 刷新令牌授予类型
- airflow - 未能触发气流 DAG
- javascript - 为什么我的代码运行不正确?这个if语句有什么问题?