Skip to content

Commit 16b3392

Browse files
authored
Merge pull request #49 from EfourC/preview-image-change
Make atlas preview images sharp when scaled up
2 parents fa6a164 + e27bbaa commit 16b3392

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

src/main/kotlin/com/gmail/blueboxware/libgdxplugin/ui/ImagePreviewDocumentationTarget.kt

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ import com.intellij.platform.backend.documentation.DocumentationTarget
3838
import com.intellij.platform.backend.presentation.TargetPresentation
3939
import com.intellij.psi.PsiElement
4040
import com.intellij.psi.createSmartPointer
41-
import com.intellij.util.ui.ImageUtil
41+
import java.awt.RenderingHints
4242
import java.awt.image.BufferedImage
4343
import java.net.URI
4444
import java.net.URISyntaxException
@@ -135,7 +135,16 @@ class ImagePreviewDocumentationTarget(private val targetElement: PsiElement?) :
135135
}
136136
}
137137

138-
val previewImage = ImageUtil.toBufferedImage(ImageUtil.scaleImage(image, scale.toDouble()))
138+
// Scale the image without smoothing to keep pixel art sharp
139+
val previewImage = BufferedImage(image.width * scale, image.height * scale, BufferedImage.TYPE_INT_ARGB)
140+
previewImage.createGraphics().apply {
141+
setRenderingHint(
142+
RenderingHints.KEY_INTERPOLATION,
143+
RenderingHints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR)
144+
drawImage(image, 0, 0, previewImage.width, previewImage.height, null)
145+
dispose()
146+
}
147+
139148
val imageFile = FileUtil.createTempFile("img", ".png", true)
140149
try {
141150
ImageIO.write(previewImage, "png", imageFile)

0 commit comments

Comments
 (0)