AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Gif bei verkleinerter Bildauflösung farblich stark veränder
Thema durchsuchen
Ansicht
Themen-Optionen

Gif bei verkleinerter Bildauflösung farblich stark veränder

Ein Thema von Hallo_Thomas · begonnen am 13. Sep 2005 · letzter Beitrag vom 25. Sep 2005
Antwort Antwort
Seite 3 von 4     123 4      
Hallo_Thomas

Registriert seit: 18. Apr 2005
Ort: Dresden
405 Beiträge
 
Delphi 2005 Professional
 
#21

Re: Gif bei verkleinerter Bildauflösung farblich stark verä

  Alt 14. Sep 2005, 16:24
Zitat von Khabarakh:
Etwas grundlegendes:
Bevor du dich mit der GR32-Lib beschäftigst, solltest du die Grundlagen der VCL-Komponenten verstanden haben. TImage und TImage32 sind beide kein Speicher für Bilder, sondern "nur" Controls, die ein Hier im Forum suchenOffScreenBitmap auf ihrer Canvas darstellen. Dieser Irrglaube wird z.B. dadurch unterstützt, dass die vermeintliche TImage-Canvas einfach die Canvas des TBitmaps ist, der Programmierer aber glaubt, er arbeite mit dem Image selbst. Das Speichermedium für Bitmaps ist also TBitmap bzw. TBitmap32, diese kannst du über TImage.Picture.Bitmap bzw. TImage32.Bitmap32 ansprechen, und diese musst du auch an die diversen Grafikroutinen (wie diese hier) übergeben.
Ich steh im moment wahrscheinlich etwas auf dem Schlauch, aber wie übergeb ich die?
  Mit Zitat antworten Zitat
Benutzerbild von Delphi-Freak
Delphi-Freak

Registriert seit: 26. Sep 2004
Ort: Wien Nähe (Österreich)
321 Beiträge
 
Delphi 2006 Architect
 
#22

Re: Gif bei verkleinerter Bildauflösung farblich stark verä

  Alt 14. Sep 2005, 16:30
Wie ich schon geschrieben habe: Im OnCreate-Event nachdem du das Bild geladen hast:
CromaKey(Image321.Bitmap, $00FF00FF); //rosa soll transparent werden Statt Image321 musst du ev. deinen eigenen Namen für das Bild einsetzen und den zweiten Parameter ggf. durch eine andere Farbe ersetzen.

Oder habe ich dich mit der Frage falsch verstanden

LG, ich
Gerhard Pfister
*
»To him who loves us and has freed us from our sins by his blood [...] be glory and power for ever and ever! Amen.« (Revelation*1,*5?6)
  Mit Zitat antworten Zitat
Hallo_Thomas

Registriert seit: 18. Apr 2005
Ort: Dresden
405 Beiträge
 
Delphi 2005 Professional
 
#23

Re: Gif bei verkleinerter Bildauflösung farblich stark verä

  Alt 14. Sep 2005, 22:47
Keine Ahnung, irgenwie klappts nicht, hab das unten reingeschriebenins Programm, hab das Bild mit der Farbe $00FF00FF eingefärgt und
es auch mit folgender Zeile probiert

P^ := C or $FF000000;bzw P^ := C or $00000000; aber irgendwie klappt es nicht

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
CromaKey(Image321.Bitmap, $00FF00FF);
end;
Angehängte Dateien
Dateityp: zip gr32_328.zip (290,4 KB, 7x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#24

Re: Gif bei verkleinerter Bildauflösung farblich stark verä

  Alt 15. Sep 2005, 12:01
P^ := C or $00; ? Der Code ist so, wie ich ihn gepostet habe, vollkommen richtig.

Aber was hast du eigentlich? Es klappt doch alles . Man kann den Alphakanal bei einem einzelnen Bitmap lediglich nicht auf dem Bildschirm sehen. Siehe auch
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Hallo_Thomas

Registriert seit: 18. Apr 2005
Ort: Dresden
405 Beiträge
 
Delphi 2005 Professional
 
#25

Re: Gif bei verkleinerter Bildauflösung farblich stark verä

  Alt 15. Sep 2005, 12:25
Das glaub ich Dir ja, nur schaff ich es irgendwie nich den Code so umzusetzen das mei Bildchen Transparent wird.


Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, GR32_Image,GR32;

type
  TForm1 = class(TForm)
    Image321: TImage32;
    procedure CromaKey(ABitmap: TBitmap32; TrColor: TColor32);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.CromaKey(ABitmap: TBitmap32; TrColor: TColor32);
var
  P: PColor32;
  C: TColor32;
  I: Integer;
begin
  TrColor := TrColor and $00FFFFFF; // erase alpha, (just in case it has some)
  with ABitmap do
  begin
    P := PixelPtr[0, 0];
    for I := 0 to Width * Height - 1 do
    begin
      C := P^ and $00FFFFFF; // get RGB without alpha
      if C = TrColor then // is this pixel "transparent"?
        P^ := C; // write RGB with "transparent" alpha back into the SrcBitmap
      Inc(P); // proceed to the next pixel
    end;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 CromaKey(Image321.Bitmap, $00FF00FF);
end;

end.
Angehängte Dateien
Dateityp: zip gr32_603.zip (290,4 KB, 6x aufgerufen)
  Mit Zitat antworten Zitat
Hallo_Thomas

Registriert seit: 18. Apr 2005
Ort: Dresden
405 Beiträge
 
Delphi 2005 Professional
 
#26

Re: Gif bei verkleinerter Bildauflösung farblich stark verä

  Alt 15. Sep 2005, 12:50
@Khabarakh
Das "GR32 Extension Control Pack" find ich, alles was sich bei dem Link bei mir aufmacht ist der Microsoft Outlook Newsreader, der hat dann 5000 nachrichten bei mir reinkopiert , a 1 KB, irgendwie find ichs nichts.
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#27

Re: Gif bei verkleinerter Bildauflösung farblich stark verä

  Alt 15. Sep 2005, 13:03
Wie gesagt, dein Code ist zu 100% in Ordnung, allen Pixeln wird der korrekte Alphawert zugewiesen.
Das Control-Pack findest du unter "19.6.2005", aber ich habe es nicht fertig gebracht, es zu installieren (ist auch noch Alpha). Einfachere Lösung: Das Bitmap auf den bekannten Phtoshop-Grau-Weiß-gekachelten Hintergund kopieren. Warum willst du dir die Transparenz denn überhaupt anzeigen lassen, es geht doch nur ums Verkleinern der Grafik?
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Hallo_Thomas

Registriert seit: 18. Apr 2005
Ort: Dresden
405 Beiträge
 
Delphi 2005 Professional
 
#28

Re: Gif bei verkleinerter Bildauflösung farblich stark verä

  Alt 15. Sep 2005, 15:24
Was mache ich dann verkehrt, das Bild, das rosa müsste doch weg sein!(Siehe Bild)
Miniaturansicht angehängter Grafiken
transparenz_108.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#29

Re: Gif bei verkleinerter Bildauflösung farblich stark verä

  Alt 15. Sep 2005, 18:14
Wie gesagt, TImage32 blendet das Bitmap nicht mit dem Hintergrund, du siehst also auch die voll transparenten Stellen! Die Pixel haben den richtigen Alphawert, er wird nur beim Anzeigen ignoriert. Kannst du bitte genau beschreiben, was dein letztendliches Ziel ist? Dann könnte ich dir besser helfen.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Hallo_Thomas

Registriert seit: 18. Apr 2005
Ort: Dresden
405 Beiträge
 
Delphi 2005 Professional
 
#30

Re: Gif bei verkleinerter Bildauflösung farblich stark verä

  Alt 15. Sep 2005, 18:33
Ziel von mir ist es ein TImage32 Bild transparent darzustellen, also in dem Fall sollte während der Laufzeit(von mir aus auch eher), das rosa nicht zu sehen sein.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


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 01:36 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