diff options
Diffstat (limited to 'juick-api')
-rw-r--r-- | juick-api/build.gradle | 2 | ||||
-rw-r--r-- | juick-api/src/main/java/com/juick/api/controllers/Post.java | 21 |
2 files changed, 15 insertions, 8 deletions
diff --git a/juick-api/build.gradle b/juick-api/build.gradle index 1db46f58..bca3a8c2 100644 --- a/juick-api/build.gradle +++ b/juick-api/build.gradle @@ -16,7 +16,7 @@ dependencies { compile "org.springframework:spring-websocket:${rootProject.springFrameworkVersion}" compile 'com.github.pengrad:java-telegram-bot-api:2.3.1.1' - compile 'net.coobird:thumbnailator:0.4.8' + compile 'org.imgscalr:imgscalr-lib:4.2' providedRuntime 'mysql:mysql-connector-java:5.1.40' testCompile project(path: ':juick-server', configuration: 'testArtifacts') diff --git a/juick-api/src/main/java/com/juick/api/controllers/Post.java b/juick-api/src/main/java/com/juick/api/controllers/Post.java index 0c93fb7b..322587fb 100644 --- a/juick-api/src/main/java/com/juick/api/controllers/Post.java +++ b/juick-api/src/main/java/com/juick/api/controllers/Post.java @@ -10,8 +10,9 @@ import com.juick.service.MessagesService; import com.juick.service.SubscriptionService; import com.juick.service.UserService; import com.juick.util.UserUtils; -import net.coobird.thumbnailator.Thumbnails; +import org.apache.commons.io.FilenameUtils; import org.apache.commons.lang3.StringUtils; +import org.imgscalr.Scalr; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.core.env.Environment; @@ -24,7 +25,9 @@ import rocks.xmpp.core.stanza.model.Message; import rocks.xmpp.extensions.nick.model.Nickname; import rocks.xmpp.extensions.oob.model.x.OobX; +import javax.imageio.ImageIO; import javax.inject.Inject; +import java.awt.image.BufferedImage; import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; @@ -174,12 +177,16 @@ public class Post { Path origName = Paths.get(apiServer.imgDir, "p", fname); Files.move(Paths.get(apiServer.tmpDir, attachmentFName), origName); - Thumbnails.of(origName.toFile()).size(1024, 1024).outputQuality(0.9) - .toFile(Paths.get(apiServer.imgDir, "photos-1024", fname).toFile()); - Thumbnails.of(origName.toFile()).size(512, 512).outputQuality(0.9) - .toFile(Paths.get(apiServer.imgDir, "photos-512", fname).toFile()); - Thumbnails.of(origName.toFile()).size(160, 120).outputQuality(0.9) - .toFile(Paths.get(apiServer.imgDir, "ps", fname).toFile()); + BufferedImage originalImage = ImageIO.read(origName.toFile()); + ImageIO.write(Scalr.resize(originalImage, 1024), + FilenameUtils.getExtension(origName.toString()), + Paths.get(apiServer.imgDir, "photos-1024", fname).toFile()); + ImageIO.write(Scalr.resize(originalImage, 512), + FilenameUtils.getExtension(origName.toString()), + Paths.get(apiServer.imgDir, "photos-512", fname).toFile()); + ImageIO.write(Scalr.resize(originalImage, 160), + FilenameUtils.getExtension(origName.toString()), + Paths.get(apiServer.imgDir, "ps", fname).toFile()); body = attachmentURL + "\n" + body; try { |