问题标签 [imgscalr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 缩放图像,然后保存到 DB (Blob)
我刚刚开始使用imgScalr图像缩放库。
我可以获得缩放图像的代码(我很确定这可行)。
背景故事
这在 tomcat6 webapp 中使用。我将图像传递给一个 servlet,并将其读入一个名为“imageStream”的 InputStream。
在调整图像大小/缩放图像之前,我正在做的是使用 InputStream 并将其保存到 DB (Oracle11+)Blob
字段中PreparedStatement
,如下所示:
这工作正常,因为我可以毫无问题地保存它并毫无问题地检索它。
问题
现在的问题是我正在缩放它们正在转换的图像
BufferedImage
,我无法使用我的PreparedStatement
.
相反,我要做的是将 a 转换BufferedImage
为 a ByteArrayOutputStream
,然后将其读入 a InputStream
,请参见下面的代码:
错误详细信息
当我执行语句时,我得到一个
java.sql.SQLIntegrityConstraintViolationException: ORA-01400: cannot insert NULL into
. 我知道这显然意味着我正在尝试NULL
在列中插入一个值,所以这不是问题。
问题是,在我的转换或缩放过程中,图像值会丢失,我最终会得到一个null
问题
问题分为两部分:
- 我究竟做错了什么?
- 有没有更好的方法来缩放 Java 中的图像并将其保存到数据库(Blob)字段?
java - 使用 ImgScalr 确定图像的大小
嗨,我目前正在使用 ImgScalr 库,并且我几乎没有标记可以从 HTML 文档中下载图像,但是有时图像质量较低,如果是,那么我需要通过 html 源进行扫描以下载所有图像并使用一个以字节为单位的最大大小。
我使用 ImgScalr 库,我需要知道如何检查图像的大小(以字节为单位)以确定它是否符合我的质量要求。这是正确的方法吗?
谢谢。
java - 使用 Java 库 imgsclr 来 RESIZE 的图像质量问题
当我尝试仅使用 imgsclr 4.2 将图像调整为特定宽度和高度时,我遇到了质量问题(http://www.thebuzzmedia.com/imgscalr-3-2-released/comment-page-1/#comment -650387 )。
我有一个 240X320 的图像,我必须将其调整为 50X75 和 120X180 。我使用以下代码分别尝试了两者(我使用的是 imgscalr 4.2)。
我有两个问题。与我用来手动调整图像大小的其他内部工具相比,#1 的质量非常低。#2。输出的宽度从 50 增加到 56,从 120 增加到 135,这很奇怪。
你知道为什么会发生这些吗?我感谢您的帮助。
java - 缩放后图像处于横向而不是纵向模式
我有一张图片,想使用 imgscalr [1] 缩小它。
源图像的大小是 1836 x 3264(所以它是纵向模式),目标分辨率是 1336 x 768。
失败是图像在缩放后处于横向模式而不是纵向模式。缩放本身就像一个魅力。
我的代码:
文件的元数据看起来正确(方向 = 1)。
我的解释是在缩小肖像图片时,在缩放过程之后它仍然是肖像图片。
我还尝试了一些其他库/类,例如:https ://frickelblog.wordpress.com/2009/06/08/fast-image-scaling-in-java/但效果是一样的。
你能帮我么?这个让我发疯!我很确定只有一个细节需要改变。
[1] http://www.thebuzzmedia.com/software/imgscalr-java-image-scaling-library/#maven
编辑:
这是原始图像: http: //i.stack.imgur.com/NEc8j.jpg
缩放版本:http: //i.stack.imgur.com/SYx6p.jpg
java - 在java中动态调整缓冲图像的大小
我尝试使用 AffineTransform 以及 Scalr.resize 调整缓冲图像的大小
这是我的代码。
使用 Scalar.resize:
使用仿射变换:
变量已在类的开头声明:
我在不同的方法中动态获取所有变量的值:
但是,当我运行此代码时,我在函数 AffineTransform 和 Scalar.resize 中都出现错误:
标量调整大小:
仿射变换:
我该怎么做?我知道发生这种情况是因为我正在以不同的方法更改变量并以另一种方法访问它们。但这两种方法不能结合使用。有什么办法可以使这项工作?
编辑:
我改变了调整大小的方法这就是我现在所做的
编辑(2):
为了更清楚地了解到底发生了什么:
这是一个返回 scrwidth 和 scrheight 的方法
这是返回 bufwidth 和 bufheight 的 actionlistener:
并且在运行中使用 aspectRatios:
java - 使用 ImgScalr 调整图像大小的最佳分辨率
我对 ImgScalr API 非常陌生。我需要将图像调整为不同的视图,其中一个是移动视图,第二个是缩略图视图。我已经使用了 resize 方法,但有疑问。在保持适当纵横比的多个可用选项中调整图像大小的最佳方法是(因为图像不会变得模糊)
我注意到的一件事是每个 resize 方法都接受一个targetSize参数。指定该字段如何确保图像的纵横比不受影响。
resize 方法的理想参数应该是什么,因为我需要为我的输入图像生成一个 2 KB 的缩略图视图,它的大小可能约为 2 MB。
由于缺乏足够的文档和示例,我有点困惑。
java - 通过相机拍照并以字节数组的形式发送到服务器
我正在开发一个 Andorid 应用程序,我希望用户在其中拍照然后保存它,我将它发送到服务器。现在,我将图片作为字节数组发送到服务器。当我尝试将字节数组作为 PNG 文件保存到文件中,然后尝试打开文件时,图像查看器会抱怨 PNG 有错误并且无法显示。PNG文件大小为122Kb。
当我尝试使用 Scalar 库调整图像大小时,它说图像源不能为空。直接保存字节数组会导致 PNG 损坏。我应该如何正确转换并将文件发送到服务器,所以没有错误。这是我正在使用并将其发送过来的相机代码。
这是将图像保存到磁盘的服务器端代码:
如果我不使用 Scalar 库,则没有错误,但它是一个损坏的文件。这是 Scalar 错误日志:
你能帮忙的话,我会很高兴。非常感谢。:-)
更新代码
image-resizing - Scalr 调整大小并裁剪到大小
我想在各种不同宽度和高度的展示位置显示图像。
我正在使用 Sclar 裁剪和调整大小的方法,但我有两个问题:
- 在某些情况下,结果看起来不太好。我认为这是因为代码中的图像首先被缩放。
- 在其他情况下我得到一个例外。例如:
无效的裁剪边界:x [32]、y [-1]、宽度 [64] 和高度 [64] 都必须 >= 0
将裁剪和图像调整为某个目标宽度和高度的最佳方法是什么?
这是我目前的方法:
java - Base64 修剪我的缩略图
我有一些我很难解决的问题。
我做了一个简短的代码片段:
返回的缩略图/字节被修剪掉。它会删除底部并仅显示一个透明区域。
我想要的是有一个按比例缩小的图像而不删除它的某些部分。
这样做的目的是将 base64 返回到我的 html 项目。
java - 将图像从 URL 裁剪到 InputStream
我需要从网络(通过其 url)裁剪图像并返回 InputStream(可以上传到 AWS S3)。我使用 org.imgscalr 作为库并具有以下方法:
我用类似的方法调用该方法:
然后尝试将其上传到 AWS S3:
不幸的是,我不断得到一个空输入流(在上面的断言点)。如果我将 createImage 更改为:
然后写入正确的图像(因此它可以工作)。