ERLEDIGT
JA
JA
ANTWORTEN
13
13
ZUGRIFFE
1554
1554
EMPFEHLEN
-
26.05.05 18:29 #1ai-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::gamecockGeändert von ai-gamecock (09.06.05 um 20:51 Uhr)
-
zu 2.:
Du könntest einen extra Thread verwenden der unabhängig vom Hauptprogramm die Animation durchführt.
-
01.06.05 18:40 #3ai-gamecock Tutorials.de Gastzugang->und wie soll der dann ausschauen?zu 2.:
Du könntest einen extra Thread verwenden der unabhängig vom Hauptprogramm die Animation durchführt.
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)
-
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); }
-
05.06.05 20:39 #5ai-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*)
-
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.
Zitat von Test
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.
-
Natürlich gehört in die while-Schleife noch den Abbruchbedingung. Dies kann z.B. eine globale Variable oder ein Event sein.
Zitat von Flegmon
-
09.06.05 20:50 #8ai-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?
-
05.07.05 15:49 #9ai-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)
-
08.07.05 15:10 #10ai-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(wie eine ganz normale Variable)Code :1
TPicture *Bild;
dann mitirgendwo im Quelltext das Bild erstellenCode :1
Bild=new TPicture;
und dann mit(Dateiname muss ein String sein) irgendwoher laden.Code :1
Bild->LoadFromFile(Dateiname);
ums im Image darzustellen gibts die einfache Methodeoder etwas differenzierterCode :1
Image1->Picture=Bild;
(erklärt sich, denke ich, von selbst; Graphic ist einfach nur der Bildinhalt)Code :1
Image1->Canvas->Draw(x,y,Bild->Graphic);
wer das Bild jetzt aber Transparent haben will (z.B. wegen Hintergrund) muss vorher nochund 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).Code :1
Bild->Transparent=
soviel dazu.
Wer animationen machen will, der sollte nochirgendwo an den anfang schreiben, sonst flackerts.Code :1
Form1->DoubleBuffered=true;
2. Farbwerte zuweisen/verändern
geht auch mit Canvas.
gibt als resultierende Farbe (zumindest theoretisch) weiß. näheres zu Farbwerten gibts in der Hife (einfach nach "TColor" suchen).Code :1 2
Image1->Canvas->Pixels[x][y]=0x00FF00FF; Image1->Canvas->Pixels[x][y]+=0x0000FF00;
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.
-
19.07.05 21:03 #11
- 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 !
-
23.07.05 22:44 #12ai-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?
-
24.07.05 12:51 #13
- Registriert seit
- May 2005
- Ort
- Deutschlanfd (NRW)
- Beiträge
- 5
Jeder Winkel geht! Ein wenig Mathe ist aber schon nützlich !

Also bis dann !
-
24.07.05 14:11 #14ai-gamecock Tutorials.de Gastzugang
ok danke für den Tipp da muss ich mal drüber nachdenken...
Ähnliche Themen
-
Bilder bei Animation drehen (jQuery)
Von DiDiJo im Forum Javascript & AjaxAntworten: 0Letzter Beitrag: 13.08.10, 15:59 -
Photoshop CS3 Animation Keyframes drehen - Geht das?
Von DerWalter im Forum PhotoshopAntworten: 5Letzter Beitrag: 15.09.08, 10:54 -
Objekt drehen in Animation Hilfe
Von Dende77 im Forum Cinema 4DAntworten: 5Letzter Beitrag: 23.07.08, 00:24 -
[ANIMATION] Extrude Nurbs um eigene Axe Drehen
Von cille im Forum Cinema 4DAntworten: 4Letzter Beitrag: 21.04.07, 22:05 -
Kugel drehen (Animation)
Von x0x im Forum Cinema 4DAntworten: 1Letzter Beitrag: 29.01.04, 17:42





Zitieren
Login






