| Autor |
Beitrag |
Rainer Brechtken
      
Beiträge: 29
Win2000
Delphi 6.0 Prof
|
Verfasst: Mo 22.06.09 09:52
Grüß Euch !
Ich möchte ein Image in einer Scrollbox erzeugen, um es nach und nach mit Inhalt zu füllen. Dieses Image soll recht groß werden, z.B. 20000 * 10000 Pixel, und es reicht wenn es eine 8bit Farbtiefe aufweisen würde. Hat jemand von Euch eine Idee wie ich es am geschicktesten umsetzen kann ?
Besten Gruß
Rainer
|
|
Krischa
      
Beiträge: 118
Windows 7 64 Bit
Delphi 2007
|
Verfasst: Mo 22.06.09 09:57
Du möchtest quasi aus vielen kleinen Bildern ein großes Bild zusammen setzten oder habe ich dich da falsch verstanden?
Btw. Bei einer Auslösung von 20000*10000 wird dein Bild ~ 190 MB groß. Sicher das du das willst?
|
|
Gausi
      
Beiträge: 8554
Erhaltene Danke: 481
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Mo 22.06.09 10:00
Ich würde da auch eher zu einer Lösung mit Paintbox oder Ähnlichem raten, wo du nur den aktuell benötigten Bereich zeichnest.
_________________ We are, we were and will not be.
|
|
Rainer Brechtken 
      
Beiträge: 29
Win2000
Delphi 6.0 Prof
|
Verfasst: Mo 22.06.09 10:00
Ja genau.... sowas in der Richtung habe ich vor... und 190 MByte sollte ja eigentlich heute kein Problem mehr sein.. hoffe ich....
Gruß
Rainer
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Mo 22.06.09 10:05
Wenn Du mit 8 Bit Farbtiefe die Farbtiefe pro Kanal meinst (also die Standardfarbtiefe z.B. bei üblichen JPEGs), wird es allerdings 570 MB groß, was schon ganz ordentlich ist 
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
Rainer Brechtken 
      
Beiträge: 29
Win2000
Delphi 6.0 Prof
|
Verfasst: Mo 22.06.09 10:20
Nein, ich meine ein Image mit einer 8bit Farbtiefe, also 256 Grauwerte, um einfach auch bei dieser großen Bildausdehnung den Speciherpaltz halbwegs im Griff zu behalten. Ich weiß halt nur nicht wie ich ein Image so definieren kann das es nur 8 bit enthält....
|
|
Krischa
      
Beiträge: 118
Windows 7 64 Bit
Delphi 2007
|
Verfasst: Mo 22.06.09 10:27
Die Farbtiefe eines Bildes legst du beim Speichern fest. Durch das Format gibst du dei Farbtiefe an. Und wenn du vor dem Zusammensetzten nicht jedes einzelne Bild in 8 Bit umformatierst, wirst du wahrscheinlich ein Speicherproblem bekommen.
|
|
Rainer Brechtken 
      
Beiträge: 29
Win2000
Delphi 6.0 Prof
|
Verfasst: Mo 22.06.09 10:30
Hallo krischa,
ich will aber nur Grauwertbilder verarbeiten, und wenn ich es hinbekommen würde das iamge als 8 bit zu definieren würde ich halt "nur" 190 Mbyte Speicher benötigen statt kanpp 600 Mb bei einer 24 bit Image Definition....
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Mo 22.06.09 10:35
Pixelformat := pf8Bit; IIRC.
Überleg aber ggf. eher, ob es wirklich notwendig ist, ständig das gesamte Bild im Speicher zu halten ...
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
Rainer Brechtken 
      
Beiträge: 29
Win2000
Delphi 6.0 Prof
|
Verfasst: Mo 22.06.09 10:43
Das habe ich schon probiert, aber bei Image.pixelformat kommt die Fehlermeldung "Undefinierter Bezeichener".....
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Mo 22.06.09 10:44
Heißt ja auch (IIRC) Image.Picture.Bitmap.Pixelformat ...
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|