langsames OnMouseMove
-
Hallo
jetzt hast du es nicht effizient gamacht (was wohl meine Schuld ist). Entweder du nimmst TImageList ODER ein eigenes Array.
Wie bereits beschrieben, hat die ImageList die Funktion Draw, mit der du ohne Umwege ein Bitmap zeichnen kannst. Dann kannst du das eigene Array wieder weglassen.bis bald
akari
-
Ich habe auch eine ganze Weile nach einer Lösung mit ImageList1->Draw(...); gesucht. Gibt es denn etwas einfaches wie:
ImageList1->Draw(1,x-koordinate,y-koordinate);?
-
Hallo
Aus der Hilfe zu den Methoden der TImageList
Die Methode Draw zeichnet das mit dem Parameter Index angegebene Bild auf der bereitgestellten Zeichenfläche.
void __fastcall Draw(Graphics::TCanvas* Canvas, int X, int Y, int Index, bool Enabled);
Beschreibung
Verwenden Sie die Methode Draw zum Zeichnen eines Bildes auf der Zeichenfläche. Das Bild wird an der Position X, Y in dem Stil gezeichnet, der in der Eigenschaft DrawingStyle festgelegt ist. Wenn der Parameter Enabled auf false gesetzt ist, wird das Bild in Graustufen gezeichnet.
bis bald
akari
-
Ich bekomme es leider nicht hin. Habe jetzt das Problem, daß ich nicht verstehe wie ich ein einzelnes Bild meiner ImageList zugreifen kann. Mir fehlt etwas das Verständnis für diesen Ausdruck: "Graphics::TCanvas* Canvas". Kann mir jemand ein Beispiel für ImageList1->Draw(...) geben?
-
Hallo
ist doch ganz einfach :
for (int r=0; r<SpielerBitmap.Length; r++) { if (cursor_pos==r) ImageList1->Draw(Image1->Canvas,100+(r*40),350,r, true); else ImageList1->Draw(Image1->Canvas,100+(r*40),400,r, true); }bis bald
akari
-
Oh Wunder, es klappt. Vielen Dank!!!

-
Hallo
Wie kann ich ein bmp in ein 2d Array laden?
euer Pate
-
Hallo
Gegenfrage : Wozu brauchst du sowas?
Nimm TBitmap, mit der Eigenschaft TBitmap::Pixels kannst du auch jeden Einzelnen Pixel lesen und schreiben.bis bald
akari
-
um die position auf ein bild zu ermitteln, es wir ein bild angezeigt wo ich die mauspos einlese im array schaue ich dann nach einer bestimmten farbe...
kannst du mir das bitte genauer schreiben
also zb so
TBitmap Array[100][100];
Array[][] = LoadFromFile("\\bild.bmp);
euer pate
-
Schau bitte nochmal nach TBitmap::Pixels. Das ist ein 2D-Array.
-
sorry ich finde nix, in der hilfe gibt es keine eigenschaft pixel.
es gibt nur eine pixelformat, damit kann man das format ändernich sollte vieleicht erwähnen das ich bcb benutze
euer pate
-
Hallo
Nun gut, das muß TBitmap::Canvas::Pixels heißen.
Zugriff also zum BeispielTColor Farbe = Bitmap->Canvas->Pixels[10][5];bis bald
akari
-
ähm
ich sehe das so
das bitmap eine variable von tcolor ist, oder?braucht man eine lib um loadfromfile zu benutzen, irgendwie kennt er das nicht
euer pate
-
Hallo
das bitmap eine variable von tcolor ist, oder?
Nein, TBitmap ist eine eigene Klasse und hat mit TColor erstmal nichts zu tun.
Sondern es hat interne Member, die dann einen []-Operator anbieten, um TColor zu lesen.braucht man eine lib um loadfromfile zu benutzen, irgendwie kennt er das nicht
Wenn du das darauf beziehst
Array[][] = LoadFromFile("\\bild.bmp);dann ist das ja auch ganz falsch. Das muß nun so aussehen.
Bitmap->LoadFromFile("\\bild.bmp);Das hättest du aber auch aus der BCB-Hilfe zu TBitmap::LoadFromFile herauslesen können
bis bald
akari