tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
13
ZUGRIFFE
1554
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    ai-gamecock Tutorials.de Gastzugang
    So hallo erstmal...
    1. Ich wollt mal wissen ob man ein Image im BCB6 drehen kann und wenn ja wie und um wie viel ° (Grad). Oder ob man das Bild im Image drehen kann (wieder um wie viel Grad).
    2. Mich würd auch noch interessieren ob man eine Animation machen kann, ohne einen Timer bzw. den Beehl "Sleep(x)" zu verwenden.
    Vielen dank für die Antworten im vorraus,
    AI::gamecock
    Geändert von ai-gamecock (09.06.05 um 20:51 Uhr)
     

  2. #2
    Test Test ist offline Mitglied Gold
    Registriert seit
    Jul 2003
    Beiträge
    181
    zu 2.:
    Du könntest einen extra Thread verwenden der unabhängig vom Hauptprogramm die Animation durchführt.
     

  3. #3
    ai-gamecock Tutorials.de Gastzugang
    zu 2.:
    Du könntest einen extra Thread verwenden der unabhängig vom Hauptprogramm die Animation durchführt.
    ->und wie soll der dann ausschauen?

    und noch eine Frage:
    3. Wie malt man ein Bild in ein Image (also dass ich dann aus mehreren zB Bitmaps die Bilder in ein Image reintut)?
    Geändert von ai-gamecock (09.06.05 um 20:50 Uhr)
     

  4. #4
    Test Test ist offline Mitglied Gold
    Registriert seit
    Jul 2003
    Beiträge
    181
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    DWORD WINAPI DrehFunktion(LPVOID hwnd)
    {
     while()
     {
      //hier dann den Code zum Drehen einfügen
     }
    }
     
    void StartThread()
    {
     DWORD ThreadID;
     HANDLE hThread;
     hThread=CreateThread(NULL,0,DrehFunktion,Application->Handle,0,&ThreadID);
    }
     

  5. #5
    ai-gamecock Tutorials.de Gastzugang
    ja ne is klar erklär mal den code den check ich nicht (alle C++-Kenntnisse kommen aus dem buch "C++ für Kids" welches mit VC++ arbeitet, aus übertragung von delphi 3 und von hier; d.h. ich glaub mir fehlen n paar C++ Grundlagen *lol*)
     

  6. #6
    Flegmon Flegmon ist offline Mitglied Brokat
    Registriert seit
    Aug 2004
    Beiträge
    351
    Zitat Zitat von Test
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    DWORD WINAPI DrehFunktion(LPVOID hwnd)
    {
     while()
     {
      //hier dann den Code zum Drehen einfügen
     }
    }
     
    void StartThread()
    {
     DWORD ThreadID;
     HANDLE hThread;
     hThread=CreateThread(NULL,0,DrehFunktion,Application->Handle,0,&ThreadID);
    }
    Mit der Funktion CreateThread wird ein Thread erstellt. Sie liefert ein Handle zurück welches in hTread gespeichert wird. Der Funktion übergibt man einige Parameter. Unter anderem die eigentliche Thread-Funktion( hier DrehFunktion) und ein DWORD Zeiger welcher die ID des Threads speichert. Der DWORD Zeiger ist in neueren Windows Versionen nicht notwendig, in älteren Versionen schlägt die Funktion aber fehl falls er nicht übergeben wird.
    Die Thread-Funktion wird dann in regelmäßigen Abständen( je nach Priorität) aufgerufen.

    Am Ende muss der Thread noch geschloßen werden( hier im Code nicht enthalten).

    Schau mal in der MSDN-Library.
     

  7. #7
    Test Test ist offline Mitglied Gold
    Registriert seit
    Jul 2003
    Beiträge
    181
    Zitat Zitat von Flegmon
    Am Ende muss der Thread noch geschloßen werden( hier im Code nicht enthalten).
    Natürlich gehört in die while-Schleife noch den Abbruchbedingung. Dies kann z.B. eine globale Variable oder ein Event sein.
     

  8. #8
    ai-gamecock Tutorials.de Gastzugang
    ok danke;
    und wie dreht man son bild jetzt?
    und wie steckt man mehrere bilder (z.b. aus bitmaps) in ein image, sodass sie nebeneinander (oder sonstwie) abgebildet werden?
     

  9. #9
    ai-gamecock Tutorials.de Gastzugang
    so jetzt weis ich immerhin (nach sehr diffizilen selbsttests) wie man ein Bild an einem beliebigen ort im image darstellt...
    aber wie man ein Bild dreht, weis ich immer noch nicht ! Bitte helfen!
    ich hätt noch ne Frage zu Farbwerten in Images:
    1.allgemein: wie definiere ich eine (beliebige) Farbe (in html wärs ja #FFFFFF, geht aber in C++ irgendwie nicht), die ich dann zB mit Canvas->Pixels... irgendwo hinmalen kann
    2. wie kann ich eine Farbe auslesen und verändern (z.B. dass es erst hellgrau ist und ich dann quasi ein rotes leuchten drauf"zauber")?
    Geändert von ai-gamecock (05.07.05 um 16:16 Uhr)
     

  10. #10
    ai-gamecock Tutorials.de Gastzugang
    ich antworte mir gerne selber...
    und für alle dies wissen wollen tipp ich meine erkenntnisse auch noch ein.
    1. Bild im Image darstellen:
    wenn mans weis ganz einfach.
    erstmal Bild definieren mit
    Code :
    1
    
    TPicture *Bild;
    (wie eine ganz normale Variable)
    dann mit
    Code :
    1
    
    Bild=new TPicture;
    irgendwo im Quelltext das Bild erstellen
    und dann mit
    Code :
    1
    
    Bild->LoadFromFile(Dateiname);
    (Dateiname muss ein String sein) irgendwoher laden.
    ums im Image darzustellen gibts die einfache Methode
    Code :
    1
    
    Image1->Picture=Bild;
    oder etwas differenzierter
    Code :
    1
    
    Image1->Canvas->Draw(x,y,Bild->Graphic);
    (erklärt sich, denke ich, von selbst; Graphic ist einfach nur der Bildinhalt)
    wer das Bild jetzt aber Transparent haben will (z.B. wegen Hintergrund) muss vorher noch
    Code :
    1
    
    Bild->Transparent=
    und dann entweder Farbe (z.B. clWhite) oder "true" oder "false" hinschreiben, wobei ich nicht weis nach welchen kriterien bei "true" die transparente Farbe ausgewählt wird, war bei mir schon mal sehr komisch).
    soviel dazu.

    Wer animationen machen will, der sollte noch
    Code :
    1
    
    Form1->DoubleBuffered=true;
    irgendwo an den anfang schreiben, sonst flackerts.

    2. Farbwerte zuweisen/verändern
    geht auch mit Canvas.
    Code :
    1
    2
    
    Image1->Canvas->Pixels[x][y]=0x00FF00FF;
    Image1->Canvas->Pixels[x][y]+=0x0000FF00;
    gibt als resultierende Farbe (zumindest theoretisch) weiß. näheres zu Farbwerten gibts in der Hife (einfach nach "TColor" suchen).

    Und ich will jetzt gerne mal wissen, wie man ein Bild dreht! Wenns keiner weis, dann schreibts wenigstens hin dass es nicht geht! BITTEBITTEBITTE! und vielen Dank im voraus.
     

  11. #11
    NastyMorBol NastyMorBol ist offline Rookie
    Registriert seit
    May 2005
    Ort
    Deutschlanfd (NRW)
    Beiträge
    5
    So ich hoffe der Code-Schnippsel kann die vielleicht ein paar Denkanstöße geben.

    //Open the source and create the destination bitmap
    Graphics::TBitmap *SrcBitmap=new Graphics::TBitmap;
    Graphics::TBitmap *DestBitmap=new Graphics::TBitmap;
    SrcBitmap->LoadFromFile("YourBitmap.bmp");

    //rotate by 90°

    DestBitmap->Width=SrcBitmap->Height;
    DestBitmap->Height=SrcBitmap->Width;

    //Rotate one pixel at a time
    for (int x=0;x<SrcBitmap->Width;x++)
    {
    for(int y=0;y<SrcBitmap->Height;y++)
    {
    DestBitmap->Canvas->Pixels[y][SrcBitmap->Width-1-x]=
    SrcBitmap->Canvas->Pixels[x][y];
    }
    }

    //Assign the Destination bitmap to a TImage
    Image1->Picture->Bitmap=DestBitmap;
    delete DestBitmap;
    delete SrcBitmap;

    Have Fun !
     

  12. #12
    ai-gamecock Tutorials.de Gastzugang
    jo danke hilft mir weiter...auch wenns recht kompliziert ausschaut...*g*
    kann man Bilder nur in 90°-Schritten drehen oder gehts auch mit anderen Winkeln?
     

  13. #13
    NastyMorBol NastyMorBol ist offline Rookie
    Registriert seit
    May 2005
    Ort
    Deutschlanfd (NRW)
    Beiträge
    5
    Jeder Winkel geht! Ein wenig Mathe ist aber schon nützlich !

    Also bis dann !
     

  14. #14
    ai-gamecock Tutorials.de Gastzugang
    ok danke für den Tipp da muss ich mal drüber nachdenken...
     

Ähnliche Themen

  1. Bilder bei Animation drehen (jQuery)
    Von DiDiJo im Forum Javascript & Ajax
    Antworten: 0
    Letzter Beitrag: 13.08.10, 15:59
  2. Photoshop CS3 Animation Keyframes drehen - Geht das?
    Von DerWalter im Forum Photoshop
    Antworten: 5
    Letzter Beitrag: 15.09.08, 10:54
  3. Objekt drehen in Animation Hilfe
    Von Dende77 im Forum Cinema 4D
    Antworten: 5
    Letzter Beitrag: 23.07.08, 00:24
  4. [ANIMATION] Extrude Nurbs um eigene Axe Drehen
    Von cille im Forum Cinema 4D
    Antworten: 4
    Letzter Beitrag: 21.04.07, 22:05
  5. Kugel drehen (Animation)
    Von x0x im Forum Cinema 4D
    Antworten: 1
    Letzter Beitrag: 29.01.04, 17:42