teil eines TBitmap in ein anderes TBitmap kopieren



  • hmm

    ok danke

    AktuellesBitmap->Canvas->CopyRect(ARect, WalkeCykleBitmap, BRect);
    

    nur damit ich das richtig verstehe

    ARect = ist die größe des Bildes, also von AktuellesBitmap, oder das wo es hinkopiert werden soll

    BRect = ist die fläche die wir kopieren wollen

    in die mitte müss doch das bild von dem wir kopieren wollen, nur ist soll das ein TCanvas sein, was ist das?
    WalkeCykleBitmap ist ein TBitmap

    danke

    flo



  • ARect - ist das Zielrechteck (bei dir in AktuellesBitmap)
    BRect - ist das Quellrechteck (aus WalkeCykleBitmap)
    Du mußt das Canvas angeben aus dem du kopieren willst, also so

    AktuellesBitmap->Canvas->CopyRect(ARect, WalkeCykleBitmap->Canvas, BRect);
    

    Das steht aber auch alles in der Hilfe (mit Beispiel).



  • Schau doch mal in die Hilfe zu CopyRect, da ist auch ein Beispiel.



  • danke

    ich hab in der hilfe nachgeschaut, leider ist die bei mir jetzt auf engl.
    und das mit dem canvas war mir nicht klar
    kann man die hilfe auf deutsch updaten?

    hab da immer noch ein problem

    er zeigt leider nix an, in dem gespeicherten bild.
    wenn ich walkcyklebitmap speichere, dann fkt es.

    int i, j, BilderAnfangX, BilderAnfangY;
     AnsiString EinPfad;
     TColor PixelFarbe;
     TRect ARect, BRect;
    
     ARect.left    = 0;
     ARect.top     = 0;
     ARect.right   = EinBilderGroesse;
     ARect.bottom  = EinBilderGroesse;
    
     BilderAnfangX = EinBilderGroesse * (EinBildPosX - 1);
     BilderAnfangY = EinBilderGroesse * (EinBildPosY - 1);
    
     BRect.left    = BilderAnfangX;
     BRect.top     = BilderAnfangY;
     BRect.right   = BilderAnfangX + EinBilderGroesse;
     BRect.bottom  = BilderAnfangY + EinBilderGroesse;
    
     AktuellesBitmap->Canvas->CopyRect(ARect, WalkeCykleBitmap->Canvas, BRect);
    
       EinPfad = Pfad + "\\" + "neu.bmp";
       AktuellesBitmap->SaveToFile(EinPfad);
    

    bei google habe ich das gefunden

    if (x + 10 <= 724)
    {
    x +=10;
    TRect Ziel = Rect(0, 0, 300, 300);
    TRect Ausgang = Rect(x, y, x + 300, y + 300);
    Canvas->CopyRect(Ziel, Bitmap->Canvas, Ausgang);
    }
    

    http://entwickler-forum.de/archive/index.php/t-4003.html

    wo kopiert er das bild hin?

    wäre für eure hilfe wirklich dankbar



  • Ist dein AktuellesBitmap überhaupt groß genug um alles aufzunehmen was du da reinkopieren willst?



  • hmm?

    global:
    Graphics::TBitmap *AktuellesBitmap = new Graphics::TBitmap();
    Graphics::TBitmap *WalkeCykleBitmap = new Graphics::TBitmap();

    mehr habe ich zur ini nicht gemacht

    ich dachte er nimmt sich den platz den er braucht?

    danke

    flo



  • Besorg Dir mal die deutsche Version des BCB. Ohne Hilfe wirst Du mit dem BCB nicht viel anfangen können.

    Und nein, die Größe mußt Du selbstverständlich selbst festlegen, ebenso das Farbformat.



  • hast du ne ahnung was bcb kostet 😃

    flo



  • Ja hab ich, ich hab einen gekauft.



  • ah super es fkt
    danke nochmals

    also falls es jemanden interessier

    AktuellesBitmap->Height = EinBilderGroesse; // gibt die hoehe vom bitmap an
    AktuellesBitmap->Width = EinBilderGroesse; // gibt die breite vom bitmap an

    AktuellesBitmap->Canvas->CopyRect(ARect, WalkeCykleBitmap->Canvas, BRect); //kopiert das teil des bildes

    danke

    gibt es eine schüler version vom bcb
    hab nur eine engl ebay version

    flo


Anmelden zum Antworten