Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Pixel Art (mauszeiger) (https://www.delphipraxis.net/136322-pixel-art-mauszeiger.html)

daniel-h 28. Jun 2009 15:32


Pixel Art (mauszeiger)
 
hay,
ihr kennt ja sicherlich bei Delphi 7 den Bildeditor ?!
Damit kann man ja auch Mauszeiger machen.
Jetzt wollte ich wissen wie man sowas in z.B. einer Paintbox realisieren kann.
Also das da einzelne Kästchen sind die man dann per Mausklick eine Farbe zuweisen kann.
Und schließlich als *.cur abspeichern.
Animationen brauchen es erst noch nicht zu sein.

mfg

jaenicke 28. Jun 2009 15:46

Re: Pixel Art (mauszeiger)
 
Siehe zum Beispiel hier, da steht der Aufbau einer solchen Datei:
http://en.wikipedia.org/wiki/ICO_(ic...e_file_format)

DeddyH 28. Jun 2009 15:50

Re: Pixel Art (mauszeiger)
 
Es geht um Cursor, nicht um Icons.

jaenicke 28. Jun 2009 15:53

Re: Pixel Art (mauszeiger)
 
Das Format ist fast identisch... :wall:
Genaueres siehe Link, da steht das auch explizit wo der Unterschied liegt. Nämlich dass im Header zusätzlich der Hotspot steht. Also wo der Punkt im Bild ist, an dem der Cursor gerade ist.

DeddyH 28. Jun 2009 15:55

Re: Pixel Art (mauszeiger)
 
Tschuldigung, ich hab vergessen, dass Du Herrn Zuse damals schon auf die Sprünge geholfen hast.

Prototypjack 28. Jun 2009 15:56

Re: Pixel Art (mauszeiger)
 
Moin,

Bei www.wotsit.org findest du den Dateiaufbau. Realisieren kannst du das ganze über die Canvas bzw. über Scanlines.

Wenn ich jetzt ganz schnell was aus dem Ärmel schütteln müsste, würde ich sagen, du baust dir ein zweidimensionales Array von TColor-Werten, welches du dann (durch ein Gitter unterbrochen) ausgibst. Einen Zoom würde ich so realisieren: Du errechnest die Anzahl der Pixel auf Zoom-Prozentwert-Basis. Also bei Hundert Prozent sieht die Rechnung so aus: Anzahl der zu zeichnenden Pixel = Anzahl der Originalpixel (wenn du einen einfärben willst, dann z.B. 1) * (ZoomWert (z.B. 100) div 100).

Ich hoffe, ich konnte dir helfen. Ach ja, abschließend lege ich dir die Hilfe von Delphi nahe, falls du mit Canvas bzw. den Eigenschaften nicht zurechtkommst.

Grüße,
Max

Edit: Achso, ja der Wikipedia-Artikel tut's natürlich auch ;)
Edit 2: Das einfärben per Mausklick dürfte dann ganz einfach sein. Du hast ja das Array, wenn jemand dann auf die Canvas klickt dann rechnest du den eventuellen Zoom (Gitter beachten!) weg, damit dir der Basispixel bleibt, die Position kannst du dann in das Array übernehmen, dort den Farbwert änder und schließlich die Canvas neu zeichnen.

Popov 28. Jun 2009 16:55

Re: Pixel Art (mauszeiger)
 
Zitat:

Zitat von jaenicke
Das Format ist fast identisch... :wall:

Fast.

Zitat:

Zitat von Wikipedia
Bei dem Format der Cursor-Dateien von Windows (CUR) handelt es sich, bis auf unterschiedliche Kennbytes im Dateivorspann (Magische Zahl), um das gleiche Format. Zusätzlich kann eine Cursor-Datei noch Informationen zum hot spot beinhalten, der Punkt, mit dem tatsächlich geklickt wird.


jaenicke 28. Jun 2009 16:56

Re: Pixel Art (mauszeiger)
 
Ja, genau, deshalb habe ich den Link ja gepostet. Weil alles das dort steht...


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:12 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