AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi LoadFromFile Stream-Lesefehler bei > 63*63px ? ...wie jetzt?
Thema durchsuchen
Ansicht
Themen-Optionen

LoadFromFile Stream-Lesefehler bei > 63*63px ? ...wie jetzt?

Ein Thema von integer · begonnen am 6. Aug 2005 · letzter Beitrag vom 6. Aug 2005
Antwort Antwort
integer

Registriert seit: 23. Jun 2005
2 Beiträge
 
Delphi 2005 Personal
 
#1

LoadFromFile Stream-Lesefehler bei > 63*63px ? ...wie jet

  Alt 6. Aug 2005, 02:36
Aaalso...

ich bin gerade dabei, ein kleines Programm zu schreiben, mit Hilfe dessen man schnell ein Bild mit beliebiger Komrimierungsrate als jpeg speichern kann. So weit, so gut.

Wenn ich allerdings ein Bild lade das 64*64 Pixel oder größer ist, dann bekomme ich einen Stream-Lesefehler. Und das Ganze mit folgendem Quellcode:

Delphi-Quellcode:
procedure TForm1.BitBtn_loadimageClick(Sender: TObject);
begin
  with TOpenPictureDialog.Create(form1) do
  try
    filter := 'Bitmaps(*.bmp)|*.bmp|Alle Dateien(*.*)|*';
    Options := [ofHideReadOnly, ofPathMustExist, ofFileMustExist, ofEnableSizing];
    if Execute then
    begin
      form1.img_original.Picture.LoadFromFile(FileName);

und so weiter...
Auch bei meinen älteren Programmen wie z.B. einem Programm zum Umwandeln von Bildern in Icons tritt dieses Problem auf, dort habe ich ebenfalls LoadFromFile() verwendet.

Habe es dann mit anderen Konstellationen probiert, und immer kommt ein Stream-Lesefehler bei Bildern über 63*63 Pixeln. Die Frage ist nur: was soll ich da machen? Habe ich da etwa einen Fehler gemacht den ich nicht sehe? Ich habe bei Suchen jedenfalls nichts dazu gefunden und hoffe jetzt auf Hilfe.





Bin mir nichtmal sicher, ob ich jetzt das richtige Forum dafür erwischt habe
Christoph
String, rund, muss in array, eckig!
  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
 
#2

Re: LoadFromFile Stream-Lesefehler bei > 63*63px ? ...wie

  Alt 6. Aug 2005, 10:46
warum das rad neu erfinden?

http://www.delphipraxis.net/internal...ct.php?t=55084



Du kannst auch gerne n bisschen Quellcode haben.

Bei deinem Problem muss ich sagen: Ohne mehr Quelltext kommt man da nicht weiter.
Interessant wäre z.B. was du lädst. wobei BMPs eigentlich keine Probleme machen dürften.
Hast du irgendwelche Komponenten dabei? Bei Google suchenGraphicEx und Bei Google suchenGraphics32 helfen einem sehr, Graphicex bei den Formaten und GR32 bei der Darstellung.

Ansonsten: einfach mal ein neues Projekt aufmachen, mit einem Image und einem Opendialog. Und den ruhig mal auf der Form platzieren, tut nicht weh
Und dann eben sehen, ob das nochmal auftritt. was es ja offenbar schon getan hat, bei dem Iconprog. ehrlich gesagt bin ich ratlos, was so einen fehler auslösen könnte....
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
Benutzerbild von BlackJack
BlackJack

Registriert seit: 2. Jul 2005
Ort: Coesfeld
246 Beiträge
 
Delphi 2005 Personal
 
#3

Re: LoadFromFile Stream-Lesefehler bei > 63*63px ? ...wie

  Alt 6. Aug 2005, 11:59
Zitat von integer:
Delphi-Quellcode:
procedure TForm1.BitBtn_loadimageClick(Sender: TObject);
begin
  with TOpenPictureDialog.Create(form1) do
  try
    filter := 'Bitmaps(*.bmp)|*.bmp|Alle Dateien(*.*)|*';
    Options := [ofHideReadOnly, ofPathMustExist, ofFileMustExist, ofEnableSizing];
    if Execute then
    begin
      form1.img_original.Picture.LoadFromFile(FileName);

und so weiter...
tut zwar nichts zur sache, aber benutz bitte mal in dem Code "Self" statt "Form1".
wenn du Form1 nimmst, legst du dich explizit auf diese eine Objekt (d.h. diese eine Variable mit genau diesem Namen) fest, mit Self wird immer das aufrufende Objekt angesprochen.

edit: und wie schon gesagt, den OpenDialog kannst du auch von Delphi automatsich erstellen lassen, der kümemrt sich dann auch ums freigeben etc. (hast du da überhaupt dran gedacht?)
See my shadow changing, stretching up and over me.
Soften this old armor. Hoping I can clear the way
By stepping through my shadow, coming out the other side.
Step into the shadow. Forty six and two are just ahead of me.
  Mit Zitat antworten Zitat
integer

Registriert seit: 23. Jun 2005
2 Beiträge
 
Delphi 2005 Personal
 
#4

Re: LoadFromFile Stream-Lesefehler bei > 63*63px ? ...wie

  Alt 6. Aug 2005, 12:01
Zitat von DGL-luke:
Um endlich mal den Umgang mit Grafiken kennenzulernen

Zitat von DGL-luke:
Bei deinem Problem muss ich sagen: Ohne mehr Quelltext kommt man da nicht weiter.
Interessant wäre z.B. was du lädst. wobei BMPs eigentlich keine Probleme machen dürften.
Hast du irgendwelche Komponenten dabei?
Keine Komponenten, kaum zusätzlier Quellcode...

Zitat von DGL-luke:
Ansonsten: einfach mal ein neues Projekt aufmachen, mit einem Image und einem Opendialog. Und den ruhig mal auf der Form platzieren, tut nicht weh
Und dann eben sehen, ob das nochmal auftritt. was es ja offenbar schon getan hat, bei dem Iconprog. ehrlich gesagt bin ich ratlos, was so einen fehler auslösen könnte....
Habe ich gemacht, selber Fehler. Bin eigentlich auch ratlos.
Hmm.. mir fällt gerade ein, dass ich das habe seit ich bei der Installation von Delphi2005 PE nur [x]Delphi für Win32 ausgewählt habe... kann doch nicht sein, oder



Darf ich präsentieren, der gesamte Quellcode dieser Prozedur:
Delphi-Quellcode:
procedure TForm1.BitBtn_loadimageClick(Sender: TObject);
begin
  with TOpenPictureDialog.Create(self) do
  try
    filter := 'Bitmaps(*.bmp)|*.bmp|Alle Dateien(*.*)|*';
    Options := [ofHideReadOnly, ofPathMustExist, ofFileMustExist, ofEnableSizing];
    if Execute then
    begin
      img_original.Picture.Bitmap.LoadFromFile(FileName);
      //img_original.Stretch := ((img_original.Picture.Width > img_original.Width) or (img_original.Picture.Height > img_original.Height)); {Testweise auskommentiert}
      //compressnewimage(form1.TrackBar_compressquality.Position); {Testweise auskommentiert}
    end;
  finally
    Free;
  end;
end;



//edit: Quellcode der gesamten Prozedur angehängt
Christoph
String, rund, muss in array, eckig!
  Mit Zitat antworten Zitat
Antwort Antwort


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 08:33 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