AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

PNG und Bitmap laden

Ein Thema von Nils_13 · begonnen am 7. Jul 2008 · letzter Beitrag vom 7. Jul 2008
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von Lossy eX
Lossy eX

Registriert seit: 7. Aug 2007
113 Beiträge
 
#21

Re: PNG laden

  Alt 7. Jul 2008, 13:18
Zitat von Nils_13:
Da das Bild ehrlich gesagt zu pervers war, habe ich es schnell mal wegradiert. Der Header hat sich dadurch zum Glück nicht verändert, es gibt also weiterhin einen Fehler beim Laden.
Vielleicht liegt es auch nur daran, dass dein PNG in Wirklichkeit ein JPEG ist? Das du dann einen Fehler bekommst ist vollkommen logisch ist, denn das TPicture extrahiert intern die Dateiendung und vergleicht sie mit der Liste der registrierten Endungen. Und das hat zur Folge, dass die falsche Klasse erstellt wird. Die kann dann logischerweise nichts mit dem Inhalt anfangen und schmeißt vollkommen zu recht einen Fehler.

PS: Irfanview schlägt im übrigen sofort vor die Datei in jpeg umzubennen...
Ich habe ja keine Vorurteile gegenüber Autofahrern ... aber Fahrer von BMW und Mercedes bestätigen diese regelmäßig.
Außerdem neue technologische Errungenschaften: Serienmäßig eingebaute Rechtsfahrsperre und der stromsparende Blinker.
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#22

Re: PNG laden

  Alt 7. Jul 2008, 13:44
Das ist vielleicht eine Erlösung. Dann muss ich einen Abfang für die Exceptions einbauen, da der Fehler in dem Fall vor einiger Zeit beim Speichern stattfand. Hätte den Abfang früher oder später eh eingebaut, bloß die Frage, warum ich das nicht gleich gemacht habe

Lukas: Wäre super wenn du das noch finden könntest.

Könnte man das nicht eigentlich alles in einen Thread auslagern ? Dann würden nach und nach die Thumbnails erscheinen und das Programm wäre benutzbar während der Ladezeit.
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#23

Re: PNG laden

  Alt 7. Jul 2008, 13:46
Klar kannst du das auslagern. Du musst die Daten dann nur wieder zurücksynchen mit einem Synchronize-Call. Sollte aber kein großes Problem darstellen.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#24

Re: PNG laden

  Alt 7. Jul 2008, 14:05
Das ist gut. Habt ihr eigentlich noch eine Idee, wie man das mit den Bitmaps lösen könnte ? Habe dank einem except einfach das Standardicon von .bmp geladen, aber das ist natürlich nicht so schön, wenn dann zwei von zwanzig Bitmaps nicht geladen werden können. Eigentlich ist Bitmap das einfachste Format überhaupt. Müsste es nicht möglich sein, das direkt ohne TBitmap zu laden ? Denn TBitmap basiert soweit ich weiß auf der API und ist daher etwas zurück.

Habe die Überschrift leicht geändert, es geht schon von Anfang an nicht mehr ausschließlich um PNG, daher ziehe ich es vor, den Titel zu ändern damit ein Suchender in der Überschrift auch sieht, dass es zusätzlich noch um Bitmap geht bzw. um eine Möglichkeit die meisten Formate zu laden.
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#25

Re: PNG laden

  Alt 7. Jul 2008, 14:07
Zitat von Nils_13:
Denn TBitmap basiert soweit ich weiß auf der API und ist daher etwas zurück.
eh. Nein, nicht so sehr. Wenn Du ein Delphi >= Pro hast, schaue Dir die Quellen an. Im Allgemeinen ist es natürlich möglich, ein Bitmap selbst zu laden (Definition siehe wotsit.org) - aber ich würde das nicht machen.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#26

Re: PNG und Bitmap laden

  Alt 7. Jul 2008, 14:17
Ich vergesse immer wieder, dass ich die Codes habe
Zitat von Delphi:
{ TBitmap is an encapsulation of a Windows HBITMAP and HPALETTE. [...] }
Zitat von Lazarus:
{ TSharedImage - base class for reference counted images }
{ TBitmapImage - Descendent of TSharedImage for TBitmap. If a TBitmap is assigned to another TBitmap, only the reference count will be increased and both will share the same TBitmapImage }
Ich könnte probieren das TBitmap von Lazarus rüberzuschieben, glaube zwar nicht dass es funktioniert, aber einen Versuch ist es wert. Lazarus funktioniert in dem Fall, aber dafür Delphi nicht, einer von beiden macht immer Probleme undzwar immer der auf den man angewiesen ist

Edit: Geht nicht, es gibt zwei Klassen die ich ebenfalls übertragen müsste und diese würden wieder andere Klassen verlangen usw. Hatte es mir schon gedacht.
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#27

Re: PNG und Bitmap laden

  Alt 7. Jul 2008, 15:15
Komisch... die Windows API müsste eigentlich alle standardgemäßen Windows-Bitmaps laden können.

Wenn TBitmap das nur kapselt, dürfte es eigentlich keine Probleme geben.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#28

Re: PNG und Bitmap laden

  Alt 7. Jul 2008, 15:17
Also ich weiß, dass TBitmap seine Probleme mit 32bit-Bitmaps hat, wenn diese einen Alpha-Kanal besitzen. Das geht ja neuerdings (?) ebenfalls. Ich weiß allerdings nicht, ob diese Bitmaps dann noch zu den "standardgemäßen Windows-Bitmaps" gehören.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#29

Re: PNG und Bitmap laden

  Alt 7. Jul 2008, 15:26
Ich glaube meine problematischen Bitmaps sind 32er. Habe ich sinnloserweise mal als solche gespeichert. Ich bilde mir gerade ein, ich hätte irgendwo mal die Möglichkeit genutzt, die Farbtiefe auf 32Bit zu setzen, finde aber bei TBitmap nichts.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz