TImage mit gifs/jpgs/bmps -> Canvas will nicht zeichen! Wie..



  • Also ich besitze eine von TImage Klasse, bei der ich onClick das Bild "selektiert" darstellen lassen möchte, also z.B. einen Rahmen drumherum zeichnen.

    Versuch ich nun mit

    this->Canvas->..

    Irgendetwas zu zeichnen, sagt er mir, das es nur bei BMPs erlaubt wäre ( angezeigt wird gerade ein Jpeg).

    Ich benutze das Hauseigen TJEPEG von BC5++ und das TGIFImage aus der FAQ.

    Gibt es da nicht einen workarround ?
    oder muss ich praktisch noch ein TImage mit der gleichen Größe darüber legen und dann darauf zeichnen ?

    Danke euch



  • 1. Lade Dei Bild in ein TPicture.
    2. setze Image1->Picture->Bitmap->Width ( und Height) wie bei Picture.
    3. Zeichne mit Draw das Bild in Image!



  • Moment :

    Das gif/jpeg befindet sich ja gerade schon als TPicture im TImage.

    Nun soll ich myImage->Picture->Bitmap->Height = myImage->Picture->Height und entsprechend mit der breite und dann wo rein zeichnen ?

    In myImage->Canvas oder in myImage->Picture>Bitmap->Canvas ?

    Ein bisschen ausführlicher wäre super.
    DAnke



  • Laden NICHT in myImage->Picture!!!
    sondern:
    Laden in ein eigenes (OffScreen) Picture

    Zeichnen in myImage->Picture>Bitmap->Canvas ( NACH setzenvon Hoehe/ Breite DIESES Bitmap)

    TPicture *TempPic;
    TempPic=new TPicture;
    TempPic->LoadFromFile(HierDerDateiName);
    myImage->Picture->Width=TempPic->Width;
    myImage->Picture->Height=TempPic->Height;
    myImage->Picture->Bitmap->Canvas->Draw(0,0,TempPic->Graphic);
    
    delete TempPic;
    

Anmelden zum Antworten