diff --git a/.run/Run samples.run.xml b/.run/Run samples.run.xml
index e25d7a1..d0c5f86 100644
--- a/.run/Run samples.run.xml
+++ b/.run/Run samples.run.xml
@@ -4,9 +4,8 @@
-
-
+
diff --git a/sample/src/main/kotlin/vipsffm/SampleRunner.kt b/sample/src/main/kotlin/vipsffm/SampleRunner.kt
index ed7fc13..1f834f9 100644
--- a/sample/src/main/kotlin/vipsffm/SampleRunner.kt
+++ b/sample/src/main/kotlin/vipsffm/SampleRunner.kt
@@ -22,7 +22,6 @@ import vipsffm.sample.VImageJoinSample
import vipsffm.sample.VImageFromMemoryToMemorySample
import vipsffm.sample.VImageGetPointSample
import vipsffm.sample.VImageMatrixSample
-import vipsffm.sample.VImageStaticThumbnailSample
import vipsffm.sample.VOptionHyphenSample
import vipsffm.sample.VSourceTargetSample
import vipsffm.sample.VTargetToFileSample
@@ -53,7 +52,6 @@ object SampleRunner {
VImageJoinSample,
VImageFromBytesSample,
VImageStreamSample,
- VImageStaticThumbnailSample,
VImageGetPagesSample,
VImageGetPointSample,
HelperGetSetMetadataSample,
diff --git a/sample/src/main/kotlin/vipsffm/sample/VImageCachingSample.kt b/sample/src/main/kotlin/vipsffm/sample/VImageCachingSample.kt
index dbdddc4..6ca8222 100644
--- a/sample/src/main/kotlin/vipsffm/sample/VImageCachingSample.kt
+++ b/sample/src/main/kotlin/vipsffm/sample/VImageCachingSample.kt
@@ -16,11 +16,11 @@ object VImageCachingSample: RunnableSample {
val outputPath = workingDirectory.resolve("rabbit_chain.jpg")
(0 ..< 3).forEach { _ ->
- val image = VImage.newFromFile(
+ val image = VImage.thumbnail(
arena,
- "sample/src/main/resources/sample_images/rabbit.jpg"
+ "sample/src/main/resources/sample_images/rabbit.jpg",
+ 400
)
- .thumbnailImage(400)
.flip(VipsDirection.DIRECTION_VERTICAL)
.autorot()
diff --git a/sample/src/main/kotlin/vipsffm/sample/VImageCreateThumbnailSample.kt b/sample/src/main/kotlin/vipsffm/sample/VImageCreateThumbnailSample.kt
index f28ac09..235ef30 100644
--- a/sample/src/main/kotlin/vipsffm/sample/VImageCreateThumbnailSample.kt
+++ b/sample/src/main/kotlin/vipsffm/sample/VImageCreateThumbnailSample.kt
@@ -18,18 +18,9 @@ object VImageCreateThumbnailSample: RunnableSample {
val logger = LoggerFactory.getLogger(VImageCreateThumbnailSample::class.java)
override fun run(arena: Arena, workingDirectory: Path): Result {
- val sourceImage = VImage.newFromFile(
+ val thumbnail = VImage.thumbnail(
arena,
- "sample/src/main/resources/sample_images/rabbit.jpg"
- )
- val sourceWidth = sourceImage.width
- val sourceHeight = sourceImage.height
- logger.info("source image size: $sourceWidth x $sourceHeight")
-
- val outputPath = workingDirectory.resolve("rabbit_copy.jpg")
- sourceImage.writeToFile(outputPath.absolutePathString())
-
- val thumbnail = sourceImage.thumbnailImage(
+ "sample/src/main/resources/sample_images/rabbit.jpg",
400,
VipsOption.Boolean("auto-rotate", true) // example of an option
)
diff --git a/sample/src/main/kotlin/vipsffm/sample/VImageFromBytesSample.kt b/sample/src/main/kotlin/vipsffm/sample/VImageFromBytesSample.kt
index ffc74f1..160014d 100644
--- a/sample/src/main/kotlin/vipsffm/sample/VImageFromBytesSample.kt
+++ b/sample/src/main/kotlin/vipsffm/sample/VImageFromBytesSample.kt
@@ -18,7 +18,7 @@ object VImageFromBytesSample: RunnableSample {
val path = Path.of("sample/src/main/resources/sample_images/rabbit.jpg")
val bytes = Files.readAllBytes(path)
val image = VImage.newFromBytes(arena, bytes)
- .thumbnailImage(400)
+ .thumbnailImage(400) // prefer VImage.thumbnail if possible
val outputPath = workingDirectory.resolve("rabbit_copy.jpg")
image.writeToFile(outputPath.absolutePathString())
diff --git a/sample/src/main/kotlin/vipsffm/sample/VImageFromMemoryToMemorySample.kt b/sample/src/main/kotlin/vipsffm/sample/VImageFromMemoryToMemorySample.kt
index 43314d6..1cccef7 100644
--- a/sample/src/main/kotlin/vipsffm/sample/VImageFromMemoryToMemorySample.kt
+++ b/sample/src/main/kotlin/vipsffm/sample/VImageFromMemoryToMemorySample.kt
@@ -19,8 +19,11 @@ object VImageFromMemoryToMemorySample : RunnableSample {
override fun run(arena: Arena, workingDirectory: Path): Result {
val path = Path.of("sample/src/main/resources/sample_images/rabbit.jpg")
- val image = VImage.newFromFile(arena, path.absolutePathString())
- .thumbnailImage(400)
+ val image = VImage.thumbnail(
+ arena,
+ path.absolutePathString(),
+ 400
+ )
val bands = VipsHelper.image_get_bands(image.unsafeStructAddress)
val width = image.width
diff --git a/sample/src/main/kotlin/vipsffm/sample/VImageStaticThumbnailSample.kt b/sample/src/main/kotlin/vipsffm/sample/VImageStaticThumbnailSample.kt
deleted file mode 100644
index 3ada76b..0000000
--- a/sample/src/main/kotlin/vipsffm/sample/VImageStaticThumbnailSample.kt
+++ /dev/null
@@ -1,46 +0,0 @@
-package vipsffm.sample
-
-import app.photofox.vipsffm.VImage
-import app.photofox.vipsffm.VipsOption
-import app.photofox.vipsffm.enums.VipsAccess
-import org.slf4j.LoggerFactory
-import vipsffm.RunnableSample
-import vipsffm.SampleHelper
-import java.lang.foreign.Arena
-import java.nio.file.Path
-import kotlin.io.path.absolutePathString
-
-/**
- * Sense checking basic static VImage thumbnail operations
- */
-object VImageStaticThumbnailSample: RunnableSample {
-
- val logger = LoggerFactory.getLogger(VImageStaticThumbnailSample::class.java)
-
- override fun run(arena: Arena, workingDirectory: Path): Result {
- val thumbnail = VImage.thumbnail(
- arena,
- "sample/src/main/resources/sample_images/rabbit.jpg",
- 400,
- VipsOption.Boolean("auto-rotate", true) // example of an option
- )
- val thumbnailWidth = thumbnail.width
- val thumbnailHeight = thumbnail.height
- logger.info("thumbnail image size: $thumbnailWidth x $thumbnailHeight")
-
- val thumbnailPath = workingDirectory.resolve("rabbit_thumbnail_400.jpg")
- thumbnail.writeToFile(thumbnailPath.absolutePathString())
-
- val hasAlpha = thumbnail.hasAlpha()
- if (hasAlpha) {
- return Result.failure(
- RuntimeException("unexpected alpha in image")
- )
- }
-
- return SampleHelper.validate(
- thumbnailPath,
- expectedSizeBoundsKb = 20L..100L
- )
- }
-}
\ No newline at end of file