[PB 4.51] ResizeImage() + #PB_Ignore + PNG

Hier werden, insbesondere in den Beta-Phasen, Bugmeldungen gepostet. Das offizielle BugForum ist allerdings hier.
Benutzeravatar
Mok
BotHunter
Beiträge: 1484
Registriert: 26.12.2005 14:14
Computerausstattung: MSI GX780R
Intel Core i5-2410M
Nvidia GT 555M
Windows 7 Home Premium 64 bit
Wohnort:   

[PB 4.51] ResizeImage() + #PB_Ignore + PNG

Beitrag von Mok »

Hallo!
Ich weiß ja nicht, ob #PB_Ignore auch für ResizeImage() gedacht ist [Edit: scheinbar nicht, siehe unten], aber wenn man eine PNG(!)-Datei lädt, diese dann verkleinert und man einen der Parameter mit #PB_Ignore ersetzt, passiert etwas nicht so schönes: Das erste mal wurde der ganze Bildschirm kurzzeitig schwarz und fing an zu flackern, aber nicht allzu schlimm, also eine Notabschaltung per Task-Manager war noch möglich. Jetzt grade wollte ich den Fehler reproduzieren, allerdings wurden jetzt alle fensterflächen schwarz -> Task-Manager-Fenster auch -> Reboot.

Code: Alles auswählen

UsePNGImageDecoder()
Define MyImage = LoadImage (#PB_Any, <PfadZuEinerPngDatei>)
ResizeImage (MyImage, 100, #PB_Ignore)
PS: OK, hab gerade einen anderen lustigen Effekt festgestellt: Mittels CreateImage() erstellte können mit einem #PB_Ignore-Parameter scheinbar unendlich groß gemacht werden. ImageWidth() liefert zwar den Wert 1, wenn man allerdings das Image auf ein Fenster zeichnet sieht es eher aus, als wär's unendlich groß.
Zuletzt geändert von Mok am 18.04.2011 12:32, insgesamt 1-mal geändert.
Win 7 Home Premium 64 bit | PureBasic 5.20 - x86 und x86-64 | Firefox [aktuelle stable-Version hier einfügen]
"Jeder macht irgendwann mal Fehler, darum gibt's auch Bleistifte mit Radiergummi." --Carl
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: [PB 4.51] ResizeImage() + #PB_Ignore + PNG

Beitrag von STARGÅTE »

kleiner Hinweis: #PB_Ignore=-65535 <> #PB_Any=-1

das nur am Ende.

In der Hilfe steht nirgend etwas davon das du eine solche Konstante verwenden darfst.

Wenn du dein Bild Strecken willst, und dabei das Seitenverhältnis behalten willst:

Code: Alles auswählen

NewWidth = 100
ResizeImage(#MyImage, NewWidth, NewWidth*ImageHeight(#MyImage)/ImageWidth(#MyImage))
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Mok
BotHunter
Beiträge: 1484
Registriert: 26.12.2005 14:14
Computerausstattung: MSI GX780R
Intel Core i5-2410M
Nvidia GT 555M
Windows 7 Home Premium 64 bit
Wohnort:   

Re: [PB 4.51] ResizeImage() + #PB_Ignore + PNG

Beitrag von Mok »

STARGÅTE hat geschrieben:kleiner Hinweis: #PB_Ignore=-65535 <> #PB_Any=-1
Natürlich... mein Fehler!
STARGÅTE hat geschrieben:In der Hilfe steht nirgend etwas davon das du eine solche Konstante verwenden darfst.
Es steht aber auch nirgens, dass ich das nicht darf... Was ich damit sagen will: Das ist sicher nicht der gewünschte Effekt, deshalb sollte entwerder #PB_Ignore für die Prozedur implementiert werden, oder es extra in die Hilfe geschrieben werden.
Win 7 Home Premium 64 bit | PureBasic 5.20 - x86 und x86-64 | Firefox [aktuelle stable-Version hier einfügen]
"Jeder macht irgendwann mal Fehler, darum gibt's auch Bleistifte mit Radiergummi." --Carl
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: [PB 4.51] ResizeImage() + #PB_Ignore + PNG

Beitrag von NicTheQuick »

Ich sehe keinen Grund etwas in die Hilfe zu schreiben, was man nicht verwenden darf/sollte. Würde man das allgemein so machen, müsste man das ja schon bei jede Mengen Gadgets hinschreiben, weil die auch alle immer sehr speziell sind und manche etwas unterstützen, was andere nicht unterstützen.
Antworten