- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
最近几天我刚刚开始使用 Groovy 和 Grails。我之前没有任何 Java 经验,所以你必须原谅这个(可能)非常基本的问题。我已经搜索过 Google 和 Stack Overflow,但没有找到任何可以帮助我进行实际安装的内容。
我有一个图像上传工作,我将文件存储在服务器上。我使用了 IBM Grails 教程来指导我完成它。这很好用。
我还想以大、中和小格式调整文件大小。我想为此使用 imgscalr,但我无法让它工作。我已经下载了包含各种 .jar 文件的 4.2 版。我是否需要将这些放在服务器上的某个地方并引用它们?我所做的唯一一件事就是将这些行添加到 buildConfig.groovy
dependencies {
// specify dependencies here under either 'build', 'compile', 'runtime', 'test' or 'provided' scopes eg.
// runtime 'mysql:mysql-connector-java:5.1.20'
compile 'org.imgscalr:imgscalr-lib:4.2'
}
import org.imgscalr.Scalr.*
在我的
PhotoController.Groovy
def save() {
def photoInstance = new Photo(params)
// Handle uploaded file
def uploadedFile = request.getFile('photoFile')
if(!uploadedFile.empty) {
println "Class: ${uploadedFile.class}"
println "Name: ${uploadedFile.name}"
println "OriginalFileName: ${uploadedFile.originalFilename}"
println "Size: ${uploadedFile.size}"
println "ContentType: ${uploadedFile.contentType}"
def webRootDir = servletContext.getRealPath("/")
def originalPhotoDir = new File(webRootDir, "/images/photographs/original")
originalPhotoDir.mkdirs()
uploadedFile.transferTo(new File(originalPhotoDir, uploadedFile.originalFilename))
BufferedImage largeImg = Scalr.resize(uploadedFile, 1366);
def largePhotoDir = new File(webRootDir, "/images/photographs/large")
largePhotoDir.mkdirs()
photoInstance.photoFile = uploadedFile.originalFilename
}
if (!photoInstance.hasErrors() && photoInstance.save()) {
flash.message = "Photo ${photoInstance.id} created"
redirect(action:"list")
}
else {
render(view:"create", model:[photoInstance: photoInstance])
}
}
No such property: Scalr for class: garethlewisweb.PhotoController
最佳答案
这是“如何在 grails 中使用 imgscalr”的第一个谷歌结果,我对谷歌搜索时缺乏信息和示例感到惊讶。虽然第一个答案很接近,但仍有一些错误需要更正。
对于像我这样通过 google 到这里结束的任何人,这里有一个更详细的示例,说明如何正确使用这个不错的插件:
首先,在您的 BuildConfig.groovy
中声明插件文件:
dependencies {
// specify dependencies here under either 'build', 'compile', 'runtime', 'test' or 'provided' scopes eg.
// runtime 'mysql:mysql-connector-java:5.1.20'
compile 'org.imgscalr:imgscalr-lib:4.2'
}
def create() {
def userInstance = new User(params)
//saving image
def imgFile = request.getFile('myFile')
def webRootDir = servletContext.getRealPath("/")
userInstance.storeImageInFileSystem(imgFile, webRootDir)
(...)
}
storeImageInFileSystem
方法,这将调整图像大小并将其存储在文件系统中。但首先,将其导入文件:
import org.imgscalr.Scalr
import java.awt.image.BufferedImage
import javax.imageio.ImageIO
def storeImageInFileSystem(imgFile, webRootDir){
if (!imgFile.empty)
{
def defaultPath = "/images/userImages"
def systemDir = new File(webRootDir, defaultPath)
if (!systemDir.exists()) {
systemDir.mkdirs()
}
def imgFileDir = new File( systemDir, imgFile.originalFilename)
imgFile.transferTo( imgFileDir )
def imageIn = ImageIO.read(imgFileDir);
BufferedImage scaledImage = Scalr.resize(imageIn, 200); //200 is the size of the image
ImageIO.write(scaledImage, "jpg", new File( systemDir, imgFile.originalFilename )); //write image in filesystem
(...)
}
}
关于image - 如何使用 Grails 使用 imgscalr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14399537/
我想向用户显示缩放后的图像,以减少客户端和服务器之间的互联网流量。 为了解决我的问题,我找到了名为 imgscalr 的库 在github page写下这个库不支持 gif。 我找不到支持的格式列表。
我正在使用 ( org.imgscalr.Scalr ) 库来调整一些图像的大小,但是在调整大小后背景变成红色。我的代码是: BufferedImage imagemPng = ImageIO.rea
我尝试使用具有以下裁剪方法的 imgscalr 库: Scalr.crop(image, height, width); 但它总是从图像的左上角开始裁剪。我可以调整此行为以从右下角或中心开始吗? 最佳
我对 ImgScalr API 非常陌生。我需要将图像大小调整为不同的 View ,其中之一是移动 View ,第二个是缩略图 View 。我已经使用了调整大小方法,但有疑问。这是从多个可用选项中调整
我想给图片添加一些文字。我正在使用 imgscalr。 我正在寻找一些示例或教程。 如果您知道一些更好的基于 Java 的图像库,请告诉我。 谢谢! 最佳答案 嗯,有趣的建议。我从未预料到人们会想要使
您好,我目前正在使用 ImgScalr 库,并且几乎没有标记可以从 HTML 文档下载图像,但是有时图像质量较低,如果质量较低,那么我需要扫描 html 源来下载所有图像并使用字节数最大的图像。 我使
有人可以分享使用 AsyncScalr 调整代码大小的 imgscalr 示例代码吗?我正在尝试使用 imgscalr(Scalr 类)进行图像处理。这是一个很好且易于使用的库,但是,经常会出现 Ou
最近几天我刚刚开始使用 Groovy 和 Grails。我之前没有任何 Java 经验,所以你必须原谅这个(可能)非常基本的问题。我已经搜索过 Google 和 Stack Overflow,但没有找
我正在尝试调整 .tif 图像的大小,然后通过将其转换为 base64 字符串将其显示在浏览器上。由于 ImageIo 默认不支持 TIF 图像,我添加了 imageio_alpha-1.1.jar(
如何将缓冲图像转换为文件对象。我的函数实际上需要返回一个文件对象。 imgscalr调整大小函数返回一个调整大小后的BufferedImage。所以如何将其转换成文件对象。 最佳答案 这是一个写入 P
我正在使用 imgscalr-lib-3.1 创建缩略图以用于我的 galleria-classic 相册。它正在减小尺寸(像素,我的意思是 100*100),但不是千字节,(比如 10K、20K)。
我正在尝试使用两个库(thumbnailator 和 imgscalr)转换图像(下面的 url)。我的代码适用于大多数图像,除了少数图像在转换后具有粉红色/淡红色调。 我正在尝试了解原因,欢迎提出任
我是一名优秀的程序员,十分优秀!