AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Kleines Grafik Verständnissproblem
Thema durchsuchen
Ansicht
Themen-Optionen

Kleines Grafik Verständnissproblem

Ein Thema von Kenny77 · begonnen am 5. Dez 2010 · letzter Beitrag vom 5. Dez 2010
Antwort Antwort
Kenny77

Registriert seit: 4. Dez 2010
7 Beiträge
 
#1

Kleines Grafik Verständnissproblem

  Alt 5. Dez 2010, 18:51
Tach Leute...

ich habe seit kurzem Delphi im Studium (Nur Grundkenntnisse werden gelehrt).
Da sagt mein Prof zu mir er habe es nicht geschafft folgendes Problem zu lösen.

Bei dem Versuch einen roten Kreis in ein mit einem schwarz-weiß Bild (xxx.bmp) bestücktes Image zu zeichnen, erscheint der Kreis nur in Grau. In der Kopie des Images auf Image3 geht es wiederum.
Ich habe das Problem schon für meine Verhältnisse gut gelöst wie ich finde, indem ich anstatt :
Code:
...
  image1.Picture.LoadFromFile('1sw.bmp');
  image2.Picture.LoadFromFile('2sw.bmp');
...
einfach folgendes gemacht habe :
Code:
var Bmp1 : TBitmap;
...
  bmp1:=TBitmap.Create;                
  bmp1.LoadFromFile('1sw.bmp');                
  image1.Canvas.Draw(0,0,bmp1);            
                                             
//                   Bild 2                 
  bmp1.LoadFromFile('2sw.bmp');              
  image2.Canvas.Draw(0,0,bmp1);
...

Nun da ich weiter kommen will als Maschinenbauinformatik es verlangt, möchte ich nun auch verstehen warum Version 1 nicht geht und Version 2 problemlos nen roten Kreis auf das Image1 und 2 zeichnet.
Vielleicht kann mich ja jemand von euch erleuchten
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: Kleines Grafik Verständnissproblem

  Alt 5. Dez 2010, 19:09
wenn Du das Pixelformat nach dem Laden des Bildes entsprechend setzt funktioniert auch Variante 1.

Image1.Picture.Bitmap.PixelFormat:=pfDevice;
//oder auch pf24Bit oder pf24Bit;

Ein erstelltest Bitmap hat default pfDevice
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#3

AW: Kleines Grafik Verständnissproblem

  Alt 5. Dez 2010, 19:14
Ich tippe mal schwer auf ein 256 Graustufen-Bitmap. Wenn du das Bild lädst, wird bei Image1.Picture.Bitmap das PixelFormat auf einen definierten Wert gesetzt (Hilfe). Dieser gibt an, dass es sich in deinem Fall um ein 256-Graustufen-Bitmap handelt. Wenn du jetzt das Bild kopierst, dann bekommst du in deinem 3. Bild keine 1:1-Kopie. Da in deinem 3. Bild das PixelFormat Farben zulässt. Änder mal nach dem Laden des Bildes das PixelFormat auf pf24bit (24bit Farben = 256*256*256 Farben). Dann sollte es gehen.

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
Kenny77

Registriert seit: 4. Dez 2010
7 Beiträge
 
#4

AW: Kleines Grafik Verständnissproblem

  Alt 5. Dez 2010, 19:22
Ah wunderbar, hat auch geklappt.

jetzt hab ich auch verstanden warum.
ich danke euch für die schnelle hilfe.

gruß Kenny
  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 10:42 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