Libraryless. Click here for Pure Java version (7277L/41K).
srecord noeq ImageDiffAsPNG(Rect r, byte[] pngData) is G2Drawable { public void drawOn(Graphics2D g) { var image = diffImage(); if (image != null) g.drawImage(image, r.x, r.y, null); } BufferedImage diffImage() { ret imageFromBytes(pngData); } *(BufferedImage img1, BufferedImage img2) { this(ImageDifferenceAsTransparentOverlay(img1, img2)); } *(ImageDifferenceAsTransparentOverlay diff) { r = diff.changedBounds(); if (!empty(r)) pngData = toPNG(clipBufferedImage(diff!, r)); } bool isEmpty() { ret main empty(r); } toString { ret isEmpty() ? "No change" : "Changed area: " + r + ", png bytes: " + n2(l(pngData)) + ", bits/pixel: " + formatDouble(bitsPerPixel(), 1); } double bitsPerPixel() { ret doubleRatio(l(pngData)*8L, area(r)); } }
download show line numbers debug dex old transpilations
Travelled to 4 computer(s): bhatertpkbcr, ekrmjmnbrukm, mowyntqkapby, mqqgnosmbjvj
No comments. add comment
| Snippet ID: | #1034397 |
| Snippet name: | ImageDiffAsPNG |
| Eternal ID of this version: | #1034397/10 |
| Text MD5: | 81d4282ba8ade86ba6e4f8d2ad990ffa |
| Transpilation MD5: | 5cf1fa55c3ce506dc327c0219b3745f2 |
| Author: | stefan |
| Category: | javax / imaging |
| Type: | JavaX fragment (include) |
| Public (visible to everyone): | Yes |
| Archived (hidden from active list): | No |
| Created/modified: | 2022-02-05 03:43:48 |
| Source code size: | 871 bytes / 33 lines |
| Pitched / IR pitched: | No / No |
| Views / Downloads: | 628 / 787 |
| Version history: | 9 change(s) |
| Referenced in: | #1003674 - Standard Classes + Interfaces (LIVE continued in #1034167) |