processing / processing/processing4

.tga PImage flips y axis after save() and load()

Aperta
#827 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

bug core
Lingua principale
Java
Stelle
494
Fork
183
Merge medio
4h 39m
PR unite (30g)
3

Descrizione

Created by: Sebastian5

Description

ONLY when pixels are saved ( PImage.save() ) as .tga and loaded again ( loadImage() ) they are fliped on the y axis.

Expected Behavior

That the image doesnt flip.
The demo code should show the red dot in the top left corner, not the bottom left.

Current Behavior

It is unclear whether the PImage.save() or loadImage() function is the root of the bug.

The Problem does NOT occur when:
If you save and image as .tga and open it with Paint.net: looks correct in Paint.net, not flipped
If you load an .tga created from Paint.net: looks correct in Processing, not flipped

But for .tga images that were PImage.save() and loadImage(). It flipps the pixels. It is very strange

Steps to Reproduce

PImage img1 = createImage(5, 5, RGB);
img1.pixels[0] = color(255,0,0); // left top corner must be red
img1.updatePixels();
img1.save("img.tga");

PImage img2 = loadImage("img.tga"); // comment out after using Paint.net to re-save image non corrupt
image(img2,0,0, width, height);

Your Environment

  • Processing version: 4.3
  • Operating System and OS version: Windows 10 Pro 22H2
  • Other information: AMD GPU Andrenail 23.12.1, Intel CPU

Possible Causes / Solutions

Maybe there is file desciptor flag to flip an image in the y axis.

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia dai percorsi di PImage.save() e loadImage() coinvolti nella gestione di .tga, quindi esegui la riproduzione 5×5 fornita su Processing 4.3. Verifica se il salvataggio o il caricamento modifica l’ordine verticale dei pixel; il lavoro è completato quando il pixel rosso rimane nell’angolo in alto a sinistra dopo il salvataggio e il caricamento della TGA.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
java
Ambito
computer-graphics
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.