AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Bilder laden ohne anzuzeigen - keine Größen vorgabe
Thema durchsuchen
Ansicht
Themen-Optionen

Bilder laden ohne anzuzeigen - keine Größen vorgabe

Ein Thema von Destroyer446 · begonnen am 14. Jun 2011 · letzter Beitrag vom 16. Jun 2011
Antwort Antwort
Destroyer446

Registriert seit: 17. Jan 2011
67 Beiträge
 
#1

Bilder laden ohne anzuzeigen - keine Größen vorgabe

  Alt 14. Jun 2011, 14:59
Hi!
Ich möchte ein Programm erstellen, um Bilder zu vergleichen und deren Farbwerte usw anzuzeigen.
Dazu muss ich Bilder laden, momentan mache ich dies mit einer TImage komponente, allerdings kann ich die nicht so groß machen, da ich noch Platz brauche für andere Dinge wie buttons usw...
Weiß jemand wie ich ein Bild laden kann (Bitmap) und es so groß sein kann wie es ist ohne abgekürzt zu werden?

MFG Destroyer446
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
677 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Bilder laden ohne anzuzeigen - keine Größen vorgabe

  Alt 14. Jun 2011, 15:02
Kleiner Tipp: in welcher Property hat TImage denn sein Bild abgelegt? Von welchem Typ ist diese Property?
  Mit Zitat antworten Zitat
Destroyer446

Registriert seit: 17. Jan 2011
67 Beiträge
 
#3

AW: Bilder laden ohne anzuzeigen - keine Größen vorgabe

  Alt 14. Jun 2011, 15:07
Hmm, du meinst ich soll eine Bitmap selbst erzeugen und dann das Bild darin laden?
Ist die dann "unendlich" groß?
Wäre schön ich probiers ma aus

Update:
Ich habs probiert...
Reinladen geht aber wenn ich versuche sie in ein Array zu packen und auszulesen sagt er Access visolation error...
Mein Code:
Delphi-Quellcode:
for i1 := 0 to Bmp1.Height - 1 do
 begin
  for i2 := 0 to Bmp1.Width - 1 do
  begin
   // nur einmal auf Pixels zugreifen = doppelte Geschwindigkeit
   idx := Bmp1.Canvas.Pixels[i1,i2];
   FBild1[idx] := FBild1[idx] + 1;
   // das ganze noch mal für Bild2...
   idx := Bmp2.Canvas.Pixels[i1,i2];
   FBild2[idx] := FBild2[idx] + 1;
  end;
 end;
 For i1 := Low(FBild1) to High(FBild1) do
 begin
  If FBild1[i1] <> 0 then // Hier kommt der Fehler
   sl.Add('Farbwert: '+IntToStr(i1)+'; Vorhanden: '+IntToStr(FBild1[i1])+'x');
 end;
MFG

Geändert von Destroyer446 (14. Jun 2011 um 15:12 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.232 Beiträge
 
Delphi 12 Athens
 
#4

AW: Bilder laden ohne anzuzeigen - keine Größen vorgabe

  Alt 14. Jun 2011, 15:11
Du kannst TBitmap nehmen, um ein Bitmap (*.bmp) darin zu laden/verarbeiten.

Es gibt auch TJpegImage, TPNGImage usw.

Oder man nimmt TPicture (siehe TImage.Picture), welcher die anderen Klassen nochmals kapselt und demnach verschiedene Dateiformate kennt.


Und nein, die ist nicht "unendlich" groß.

Wobei auch das TImage größere Bilder laden kann, bzw. das Bild in .Picture kann durchaus viel größer/kleiner sein, als die Anzeigefläche.
Deine Zugriffsverletzung (anderer Thread) hat jedenfalls nicht mit der Bildgröße zu tun.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (14. Jun 2011 um 15:14 Uhr)
  Mit Zitat antworten Zitat
Destroyer446

Registriert seit: 17. Jan 2011
67 Beiträge
 
#5

AW: Bilder laden ohne anzuzeigen - keine Größen vorgabe

  Alt 14. Jun 2011, 17:40
Hmm komisch aber wenn es nicht über die Fläche geht kommt keine Zugriffsverletzung?
Hat wer eine Ahnung warum bei dem Array eine Zugriffsverletzung kommt??

Danke!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.232 Beiträge
 
Delphi 12 Athens
 
#6

AW: Bilder laden ohne anzuzeigen - keine Größen vorgabe

  Alt 14. Jun 2011, 17:49
Wie sieht denn nun dein kompletter Code aus

und hast du mal in den Projektoptionen die Bereichsprüfung aktiviert?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  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 11:11 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