Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi 16x16-Bitmap in 32x16-Glyph umwandeln (https://www.delphipraxis.net/101519-16x16-bitmap-32x16-glyph-umwandeln.html)

scrat1979 14. Okt 2007 22:13


16x16-Bitmap in 32x16-Glyph umwandeln
 
Hallo zusammen,

ich bin gerade auf der Suche nach einem Tool, welches ein 16x16 Bitmap in ein 32x16 Bitmap umwandelt. Die zweite Hälfte soll eine Grauwerte-Kopie der ersten sein.

Hintergrund: Ich möchte nicht für jedes Icon bei den BitBtn's (Enabled/Disabled-Status) mit Photoshop dies manuell machen müssen.

Daher die Frage: Gibt es so ein PRogramm überhaupt oder eine schnellere Lösung???

SCRaT

Dax 14. Okt 2007 22:18

Re: 16x16-Bitmap in 32x16-Glyph umwandeln
 
Ich wüsste auf die schnelle keines.. :gruebel: Aber das müsste sich doch im Handumdrehen selbst machen lassen?

scrat1979 14. Okt 2007 22:23

Re: 16x16-Bitmap in 32x16-Glyph umwandeln
 
Zitat:

Zitat von Dax
Ich wüsste auf die schnelle keines.. :gruebel: Aber das müsste sich doch im Handumdrehen selbst machen lassen?

Das schon. Ich wolle nur mal meine komplette Icons-Kollektion (mehrere 1000 freie Icons) mit einem "Mausklick" umwandeln. Vielleicht kennt ja doch einer eine Möglichkeit. Ggf. müsste ich mir so ein PRogramm eben selbst schreiben :pale:

SCRaT

Progman 14. Okt 2007 22:25

Re: 16x16-Bitmap in 32x16-Glyph umwandeln
 
ich würde auch selbst schreiben vorschlagen. So auf Anhieb fällt mir keine Anwendung ein, die das macht.

alzaimar 14. Okt 2007 22:26

Re: 16x16-Bitmap in 32x16-Glyph umwandeln
 
Eine ziemlich einfache Möglichkeitm, ein Bitmap in Graustufen zu überführen, besteht daren, die RGB-Werte eines Pixels durch jeweils (R+G+B)/3 zu ersetzen. Es gibt zwar andere, angeblich der menschlichen Wahrnehmung eher entsprechende Möglicheiten, aber die sind mit meinen vielleicht farbenblinden Augen ziemlich daneben.

Also:
1. Erstelle Dir eine 32x16 Bitmap
2. Kopiere das Glyph in die linke Hälfte
3. Erstelle die Rechte Hälfte mit o.g. Verfahren

P.S.: Programmieren lernt man in erster Linie durch Programmieren und nicht durch Bitten um 'fertige Tools'-
P.P.S.: Googel mal wieder

@Dax: Dein Wort in Gottes Ohr

@scrat1979: Jo, es ist so banal, das DU es als Übung durchaus selbst programmieren könntest. Und eines noch: Da es soooo einfach ist, eine farbige Bitmap in Graustufen zu überführen, kann man das doch gleich zur Laufzeit erledigen, ooooder?

scrat1979 14. Okt 2007 22:34

Re: 16x16-Bitmap in 32x16-Glyph umwandeln
 
Zitat:

Zitat von alzaimar
P.S.: Programmieren lernt man in erster Linie durch Programmieren und nicht durch Bitten um 'fertige Tools'-
P.P.S.: Googel mal wieder

@Dax: Dein Wort in Gottes Ohr

@scrat1979: Jo, es ist so banal, das DU es als Übung durchaus selbst programmieren könntest. Und eines noch: Da es soooo einfach ist, eine farbige Bitmap in Graustufen zu überführen, kann man das doch gleich zur Laufzeit erledigen, ooooder?

Da hast Du mich falsch verstanden. Dieses PRogramm zu schreiben wäre auch für mich überhaupt kein Problem. Aber warum selbst schreiben, wenn es dies schon gibt?!? Ich programmiere mir ja nicht mal so einen MP3-Player sondern verwende Winamp o.ä. ...

Also mir ging es wirklich nicht um "Programmieren zu Üben" - falls es so rübergekommen sein sollte :gruebel: :gruebel:

SCRaT

SirThornberry 15. Okt 2007 00:21

Re: 16x16-Bitmap in 32x16-Glyph umwandeln
 
ich würde mir das ganze selbst programmieren. Grund: Wenn ich es selbst programmiere ist es schneller fertig als wenn ich darauf warte das hier jemand ein FreewareTool postet welches das kann.

scrat1979 15. Okt 2007 00:29

Re: 16x16-Bitmap in 32x16-Glyph umwandeln
 
Ok, ihr habt mich überredet :-)

Werde in den nächsten Tagen mal so ein Ding schreiben und es danach in die Freeware-Sektion verfrachten...

Danke trotzdem an alle Antworter

SCRaT

alzaimar 15. Okt 2007 07:28

Re: 16x16-Bitmap in 32x16-Glyph umwandeln
 
Als Anregung.
Delphi-Quellcode:
Function ColorToGrayScale (aColor : TColor) : TColor;
Var
  m : Integer;

Begin
  m := (GetRValue (aColor) + GetGValue(aColor) + GetBValue(aColor)) Div 3;
  Result := RGB (m, m, m);
End;

Procedure CreateGlpyhSet (aBitmap : TBitmap; aResultGlyph : TBitmap);
Var
  i, j : Integer;

Begin
  aResultGlyph.Width := 2*aBitmap.Width;
  aResultGlyph.Height := aBitmap.Height;
  aResultGlyph.Canvas.Draw(0,0, aBitmap);
  For i:=0 to aBitmap.Height-1 do
    For j := 0 to aBitmap.Width-1 do
      aResultGlyph[i,j+aBitmap.Width] := ColorToGrayscale (aBitmap[i,j])
End;

scrat1979 15. Okt 2007 16:11

Re: 16x16-Bitmap in 32x16-Glyph umwandeln
 
@alzaimar: Vielen Dank. Muß jetzt nur noch schauen, wann ich dazukomme. Hoffe, das PRogramm können noch einige mehr brauchen :-)

Grüße :cheers:

SCRaT


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:18 Uhr.
Seite 1 von 2  1 2      

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