Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi ein bild auf ein anderes zeichnen ? (https://www.delphipraxis.net/101805-ein-bild-auf-ein-anderes-zeichnen.html)

agm65 18. Okt 2007 11:46


ein bild auf ein anderes zeichnen ?
 
Liste der Anhänge anzeigen (Anzahl: 1)
hi leute, ich habe ein riesen problem, beim uploaden von bildern, erstelle ich 3 dazugehörige thumbnails.
diese werden dynamisch resized je nach größe des bildes.

die größen der thumbnails sind 150x110 ; 120x120 ; 60x45 (tbitmap)


wenn ich jetzt ein alles hin und her resize werden die bilder fast immer <> die oben angegebenen formate.
deshalb brauche ich einen weissen hintergrund in diesen größen. dann dachte ich, zeichne das angepasste thumbnail einfach über den rahmen (meinen weissen background in den größen)? oder was habt ihr für ideen ? danke leute !

Progman 18. Okt 2007 12:42

Re: ein bild auf ein anderes zeichnen ?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi, warum erstellst du nicht einfach entsprechende Thumbs in der erforderlichen Größe?
Im Anhang ist ein Programm zum Thumbs generieren.
Verzeichnis der Bilder auswählen, Thumbgrößen eintragen und starten.
Schon hast du im Bilderverzeichnis 3 neue Verzeichnisse mit den Thumbs.

Gruß

agm65 18. Okt 2007 12:46

Re: ein bild auf ein anderes zeichnen ?
 
nein, ich muss die thumbs automatisch generieren und hochladen , dazu noch 3 datenbank inserts...
es geht um tausende bilder die automatisch eingetragen, hochgeladen und verwaltet werden müssen ...ich hab alles bis auf das anpassen der bilder ! das ist ein damin tool für ein os tube system ...es geht echt nicht anders !

Progman 18. Okt 2007 12:53

Re: ein bild auf ein anderes zeichnen ?
 
achso, da kann ich leider nicht helfen. Hab von so ner Problematik nicht so viel Ahnung. Ich dachte, es ging um eine Webgalerie, dafür war das Prog mal ursprünglich gemacht.

agm65 18. Okt 2007 12:55

Re: ein bild auf ein anderes zeichnen ?
 
ja, danke trotzdem...vll könnte man auch einfach alles was an hight und width noch fehlt um die größe zu erreichen, weiss einfärben aber auch da weiss ich nicht wie es gehen könnte ?

agm65 18. Okt 2007 13:27

Re: ein bild auf ein anderes zeichnen ?
 
habe jetzt folgendes versucht: und ich bekomme keine anzeige..bzw garnichts aber ich fühle, das ich nahe dran bin ?

Delphi-Quellcode:

var
  Form1: TForm1;
  imgresult,bild1,bild2:Tbitmap;

implementation

{$R *.dfm}

function LoadJPEGPictureFile(Bitmap: TBitmap; FilePath, FileName: string): Boolean;
var
  JPEGImage: TJPEGImage;
begin
  if (FileName = '') then
    Result := False
  else
  begin
    try
      JPEGImage := TJPEGImage.Create;
      try
        JPEGImage.LoadFromFile(FilePath + FileName);

        Bitmap.Assign(JPEGImage);

        Result := True;
      finally
        JPEGImage.Free;
      end;
    except
      Result := False;
    end;
  end;
end;




procedure TForm1.FormCreate(Sender: TObject);
begin
imgresult := tbitmap.Create;
bild1 := tbitmap.Create;
bild2 := tbitmap.Create;

LoadJPEGPictureFile(bild1,'h:\' , '1.jpg' );
LoadJPEGPictureFile(bild2,'h:\' , 'bg.jpg' );

imgresult.canvas.draw(0,0,bild2);
imgresult.canvas.draw(0,0,bild1);


PaintBox.canvas.draw(0,0,imgresult);

end;

_frank_ 18. Okt 2007 13:35

Re: ein bild auf ein anderes zeichnen ?
 
mhm, du willst die thumbnails aber mit delphi erstellen? nicht in dem uploadscript (php,perl, etc.)

bei delphi erstellt du dir einfach ein Tbitmap mit der entsprechenden Größe, und plazierst dein gestauchtes thumbnail zentriert dort drin.

weis jetzt nicht genau wo das Problem genau ist, vermute mal bei dem weißen Rand bzw. der zentrierten Ausrichtung...

Delphi-Quellcode:
bmp:=TBitmap.create;
bmp.width:=110;
bmp.height:=150;
//hier thumbnail erzeugen
thumb:=TBitmap.create;
thumb.loadfromfile(...);
//...stauchen

bmp.canvas.draw((bmp.width-thumb.width) div 2,(bmp.height-thumb.height) div 2,thumb);

thumb.free;
bmp.free;
sollte das Problem woanders liegen (beim stauchen z.b.) sag bescheid

HTH Frank

agm65 18. Okt 2007 13:43

Re: ein bild auf ein anderes zeichnen ?
 
Liste der Anhänge anzeigen (Anzahl: 3)
ja genau ..jetzt fehlt einfach der weise rand ..wenn ich das so mache wie du, dann ist das result = dem thumb ohne weissen rand !

hab jetzt mal beide bilder hinzugefügt, also 1 soll über den weissen background so dass oben und unten noch soviel weiss zu sehen ist, damit es den gewünschten w X h wert hat !

wenn du das result.jpg anschaust und markierst, sieht du den weissen rand oben und unten <- den brauche ich !

agm65 18. Okt 2007 13:51

Re: ein bild auf ein anderes zeichnen ?
 
ich habs !!!!!!! JUHU ! DANKE DIR !


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:14 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz