105 Commits

Author SHA1 Message Date
Rolf Howarth
5af87372aa
Use signed arithmetic when reading rectangle (#1131)
* Use signed arithmetic when reading rectangle

An operation such as DirectBitsRect can fail if the origin is -ve and we're applying a screen image ratio. See for example P564B1400.pict

* Fix copy/paste error in testNegativeOrigin()

---------

Co-authored-by: Harald Kuhr <harald.kuhr@gmail.com>
2025-05-30 16:14:23 +02:00
Rolf Howarth
defadbbbcd
Set 'frame' to correct image bounds (#1130)
Ensure the x,y offset for extended v2 pictures is respected by updating 'frame' to the correct bounding rectangle. As a result we
need to base output image directly on frame size rather than applying screen image ratio. See cow.pict.

Co-authored-by: Harald Kuhr <harald.kuhr@gmail.com>
2025-05-30 16:07:16 +02:00
Rolf Howarth
66363f8d09
Fix bounds issue in some v2 PICT files (#1129)
x2 and y2 were swapped over, resulting in an "invalid bounds" exception with -ve height on some nonV2Ext images,
see for example CatDV==2.0=1=.pict or Picture14.pict

Co-authored-by: Harald Kuhr <harald.kuhr@gmail.com>
2025-05-30 15:59:00 +02:00
Rolf Howarth
1bef35daba
Fix rendering of images with JPEG slices (#1124)
* Third attempt

* Add test file

* Only suppress lastQTRect if PackBitsRect immediately follows CompressedQuickTime opcode

* Only suppress lastQTRect if PackBitsRect immediately follows CompressedQuickTime opcode

* Add unit test that checks pixel values

* Add missing ImageIO import

* Fix formatting issues

---------

Co-authored-by: Harald Kuhr <harald.kuhr@gmail.com>
2025-05-30 15:51:06 +02:00
Harald Kuhr
0be5efc534 Add static import of Assumptions.assumeTrue 2025-05-30 15:50:02 +02:00
Rolf Howarth
35da57dfcf JUnit confusion about parameter order 2025-05-30 15:50:02 +02:00
Rolf Howarth
5d09bb664e Add assumption for TIFF reader being present as test will fail under jdk 1.8 2025-05-30 15:50:02 +02:00
Rolf Howarth
31117c7cea Add unit test for QuickTime mask issue 2025-05-30 15:50:02 +02:00
Rolf Howarth
ae0899fe76 Make sure maskSize bytes are skipped
If the CompressedQuickTime opcode has a mask then this wasn't processed properly. See for example P30946BDC.pict.
2025-05-30 15:50:02 +02:00
Rolf Howarth
f8b919ee58
Improve debug output (#1115)
Include hex opcode and file offset in debug output. Condense scan line messages in readOpDirectBits().

---------

Co-authored-by: Harald Kuhr <harald.kuhr@gmail.com>
2025-03-31 21:38:09 +02:00
Vyshak Puthusseri
543acce8a3
Upgrade to Junit5 (#1050)
* chore: Update to junit5 for servlet package

* chore: Update to junit5 for contrib package

* chore: Update to junit5 for common-image package

* chore: Update to junit5 for common-lang package

* chore: Update to junit5 for entire project files

* fix: test case for JPEGImageReaderTest failed for java 8 and 11

assertEquals was using old signature of junit4.

* Update common/common-io/src/test/java/com/twelvemonkeys/io/InputStreamAbstractTest.java

Co-authored-by: Harald Kuhr <harald.kuhr@gmail.com>

* Update common/common-io/src/test/java/com/twelvemonkeys/io/InputStreamAbstractTest.java

Co-authored-by: Harald Kuhr <harald.kuhr@gmail.com>

* Update imageio/imageio-bmp/src/test/java/com/twelvemonkeys/imageio/plugins/bmp/BMPImageReaderTest.java

Co-authored-by: Harald Kuhr <harald.kuhr@gmail.com>

* Update imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java

Co-authored-by: Harald Kuhr <harald.kuhr@gmail.com>

* Update imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageMetadataTest.java

Co-authored-by: Harald Kuhr <harald.kuhr@gmail.com>

* Update imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReaderTest.java

Co-authored-by: Harald Kuhr <harald.kuhr@gmail.com>

* Update imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriterTest.java

Co-authored-by: Harald Kuhr <harald.kuhr@gmail.com>

* Update imageio/imageio-core/src/test/java/com/twelvemonkeys/imageio/stream/BufferedChannelImageInputStreamTest.java

Co-authored-by: Harald Kuhr <harald.kuhr@gmail.com>

* Update imageio/imageio-core/src/test/java/com/twelvemonkeys/imageio/stream/BufferedChannelImageInputStreamTest.java

Co-authored-by: Harald Kuhr <harald.kuhr@gmail.com>

* refactor: few indentation changes and missed test case

- review change related to missing test annotation
- unwanted new lines inside test case
- duplicate assertions

* refactor: moved the lambda expression to method reference

* review: testNotNullWithParameterNull catch block was never executed.

Added the suggested change

* Apply suggestions from code review

chore: adjust suggested indentation

Co-authored-by: Harald Kuhr <harald.kuhr@gmail.com>

* Update imageio/imageio-core/src/test/java/com/twelvemonkeys/imageio/util/ImageReaderAbstractTest.java

Co-authored-by: Harald Kuhr <harald.kuhr@gmail.com>

* Update imageio/imageio-core/src/test/java/com/twelvemonkeys/imageio/util/ImageReaderAbstractTest.java

Co-authored-by: Harald Kuhr <harald.kuhr@gmail.com>

* Update imageio/imageio-core/src/test/java/com/twelvemonkeys/imageio/util/ImageWriterAbstractTest.java

Co-authored-by: Harald Kuhr <harald.kuhr@gmail.com>

* refactor: using assertTimeout doesnot kill the execution, even if the timeout happens.

It is better to use assertTimeoutPreemptively in cases, where we really want to kill the execution after timeout.
https://stackoverflow.com/questions/57116801/how-to-fail-a-test-after-a-timeout-is-exceeded-in-junit-5/57116959#57116959

---------

Co-authored-by: Harald Kuhr <harald.kuhr@gmail.com>
2024-11-12 10:13:15 +01:00
Harald Kuhr
ae482bc7e5 [maven-release-plugin] prepare for next development iteration 2024-10-07 20:36:52 +02:00
Harald Kuhr
119700487b [maven-release-plugin] prepare release twelvemonkeys-3.12.0 2024-10-07 20:36:47 +02:00
Harald Kuhr
b3d48bdc50 [maven-release-plugin] prepare for next development iteration 2024-06-08 14:12:14 +02:00
Harald Kuhr
981d2da1e6 [maven-release-plugin] prepare release twelvemonkeys-3.11.0 2024-06-08 14:12:10 +02:00
Steinar Bang
a9e4b2e262 Change maven-bundle-plugin config to correctly export ImageWriterSpi services 2023-11-02 09:48:01 +01:00
Harald Kuhr
dabc26bdb5 [maven-release-plugin] prepare for next development iteration 2023-10-20 21:25:12 +02:00
Harald Kuhr
b441298a9a [maven-release-plugin] prepare release twelvemonkeys-3.10.0 2023-10-20 21:25:06 +02:00
Steinar Bang
a7ebd66149 Export all TwelveMonkeys imageio SPI plugins using the osgi.serviceloader capability 2023-10-05 21:52:33 +02:00
Steinar Bang
f2cc9faaf8 Add maven-bundle-plugin to build to give jar files OSGi manifest headers and make the jar files OSGi bundles, fixes #794 2023-10-05 21:52:33 +02:00
Harald Kuhr
bc2c0c2301 [maven-release-plugin] prepare for next development iteration 2022-10-15 12:12:53 +02:00
Harald Kuhr
6581e2e2a1 [maven-release-plugin] prepare release twelvemonkeys-3.9.0 2022-10-15 12:12:49 +02:00
Harald Kuhr
7ed5663633 More tests of StandardImageMetadataSupport + minor API changes 2022-10-08 14:28:10 +02:00
Harald Kuhr
6458fcdcbd Major ImageMetadata refactor for more consistent standard metadata support.
Fixes a few related bugs as a bonus.
2022-10-08 13:43:26 +02:00
Harald Kuhr
00d6acd1bf [skip ci] Fixed some typos in comments. :-) 2022-04-26 19:25:52 +02:00
Harald Kuhr
312ce364cc [maven-release-plugin] prepare for next development iteration 2021-12-12 13:17:20 +01:00
Harald Kuhr
7de8231471 [maven-release-plugin] prepare release twelvemonkeys-3.8.0 2021-12-12 13:17:16 +01:00
Harald Kuhr
0de9f79029 [maven-release-plugin] rollback the release of twelvemonkeys-3.8.0 2021-12-12 13:13:54 +01:00
Harald Kuhr
eeb56acdde [maven-release-plugin] prepare for next development iteration 2021-12-11 23:26:21 +01:00
Harald Kuhr
32bba6857b [maven-release-plugin] prepare for next development iteration 2021-04-24 12:31:07 +02:00
Harald Kuhr
ab7b08dfa9 [maven-release-plugin] prepare release twelvemonkeys-3.7.0 2021-04-24 12:31:00 +02:00
Harald Kuhr
e0d6fa0d84 Better JPMS automatic module names. 2021-04-24 12:26:36 +02:00
Harald Kuhr
ee2be3f88f [maven-release-plugin] rollback the release of twelvemonkeys-3.7.0 2021-04-24 11:24:15 +02:00
Harald Kuhr
c5511833cc Fix SemVer issue. 2021-04-24 11:12:09 +02:00
Harald Kuhr
967f8e6984 PICT metadata + PNTG support 2021-03-27 14:39:59 +01:00
Harald Kuhr
6c34fb211f ImageWriterAbstractTest refactorings. 2020-10-14 18:54:46 +02:00
Harald Kuhr
9fdbc3b1fc ImageReaderAbstractTest refactorings. 2020-10-14 17:06:35 +02:00
Harald Kuhr
fa4586663c Fixed a minor dependency issue. All test-jar dependencies now has correct test scope. 2020-10-02 09:41:39 +02:00
Harald Kuhr
86f8cf52a5 Comment fix 2020-08-07 16:36:08 +02:00
Harald Kuhr
bda6544a5f #556 PICTImageReaderSpi no longer claim to decode known formats 2020-08-07 16:31:29 +02:00
Harald Kuhr
b94135a91c [maven-release-plugin] prepare for next development iteration 2020-07-10 22:49:24 +02:00
Harald Kuhr
7384118357 [maven-release-plugin] prepare release twelvemonkeys-3.6 2020-07-10 22:49:16 +02:00
Harald Kuhr
0d28eb31d2 [maven-release-plugin] prepare for next development iteration 2020-01-22 21:47:25 +01:00
Harald Kuhr
4922ccf80b [maven-release-plugin] prepare release twelvemonkeys-3.5 2020-01-22 21:47:17 +01:00
Koen De Groote
8ed5f06151 Changes suggested by Intellij in the category "Performance".
Updated.
2019-10-22 11:51:24 +02:00
Harald Kuhr
9e23413456 Fixed JavaDoc errors to enable Java 8 build. 2019-08-10 00:41:36 +02:00
Harald Kuhr
1228043d57 [maven-release-plugin] prepare for next development iteration 2018-08-18 20:29:07 +02:00
Harald Kuhr
83adf121e2 [maven-release-plugin] prepare release twelvemonkeys-3.4 2018-08-18 20:28:59 +02:00
Harald Kuhr
24c6682236 #311 Updated license headers to be the same as in the LICENSE.txt 2018-08-18 19:22:52 +02:00
Harald Kuhr
4afa934251 #431: Clean-up + added test 2018-08-18 13:12:54 +02:00