![]() |
Delphi-Version: 5
BMP's zerschneiden
Hallo zusammen :)
vorweg ich bin nur Hobbyprogrammierer also erwartet nicht allzu viel Fachwissen. Folgendes Problem: In letzter Zeit Arbeite ich an einem Schiebepuzzle mit 4x4 Feldern a 30x30 Pixel. Momentan bin ich dabei es dem Nutzer zu ermöglichen eigene 120x120 große Bilder (BMP's) in ein Image zu laden sodass diese dann "zerschnitten" und weiter genutzt werden können bzw sofort auf die jeweiligen Speedbuttons die ich als Felder benutze, geladen werden. Mit der Copyrect Methode hab ich schon ein wenig rum experimentiert leider komm ich damit nicht ganz so recht klar :( (Anfänger und so....) Ich würde mich wirklich freuen wenn mir hier jemand weiter helfen könnte....mit einem Beispiel dazu oder irgendetwas...bin gerade am verzweifeln :x Grüße Aesir |
AW: BMP's zerschneiden
Klar helfen wir,
wie weit bist du denn und wo genau hakt es? Ich würde inetwa so vorgehen: 1. Bild in TImage laden 2. Ein 2 dimensionales Array vom Typ TImage anlegen 3. Der Anzahl der Speedbuttons entsprechen in einer For-Schleife die Teilbilder befüllen (Dafür ist Copyrect schon genau richtig) Grüße |
AW: BMP's zerschneiden
Um das befüllen der Buttons geht es nicht ich möchte es erstmal so hinbiegen dass überhaupt Bildteile
aus meinem Image ausgeschnitten bzw rauskopiert werden....eigentlich kann das doch nicht so schwer sein oder steh ich auf dem Schlauch? o.o
Delphi-Quellcode:
So schaut es bisher aus
const
Spalten = 4; Zeilen = 4; Kantenlaenge = 30; var X, Y: integer; QuellRect: TRect; begin for Y := 0 to Zeilen - 1 do //zeilen for X := 0 to Spalten - 1 do //spalten begin //neue Bitmap erzeugen Ziel := TBitmap.Create; Ziel.Width := Kantenlaenge; Ziel.Height := Kantenlaenge; //Koordinaten errechnen QuellRect := Rect(X * Kantenlaenge, Y * Kantenlaenge, (X + 1) * Kantenlaenge, (Y + 1) * Kantenlaenge); //Ausschnitt aus Quellbild kopieren Ziel.Canvas.CopyRect(Rect(0, 0, Kantenlaenge, Kantenlaenge), image1.Canvas, QuellRect); //hier sollte die bmp dann vorliegen...tut sie aber aus irgendwelche Grunden nicht... end; |
AW: BMP's zerschneiden
Liste der Anhänge anzeigen (Anzahl: 1)
Ahja.. ja ist doch schon fast gut.
Ich hab mal KURZ eine DRECKIGE Demo geschrieben, sollte dir aber helfen. Edit: Hast du dir mal anzeigen lassen, was du genau mit CopyRect kopiert hast? Du irrst dich garantiert in den Dimensionen deines Quell-Bildes. Das sieht eigentlich gut aus, was du machst. Da ist soweit nichts drann zu bemängeln. Es kommt ganz auf dein Source-Image an. ;) Was ich meine: 30px sind bei einem hochauflösendem jpg nicht besonders viel... Woher weißt du denn schon vorher, das deine Kantenlänge 30 Pixel beträgt? Du kannst warscheinlich nicht den gleichen Wert für die kleinen und das ausgangs Bild verwenden... |
AW: BMP's zerschneiden
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz