![]() |
Farbcodes
Ich habe ein Programm geschrieben, das soll mir ein Bild in "Zahlen" umwandeln :drunken: .
Das Problem: :wall: Wenn ich mit StringToColor bzw. ColorToString umwandle gibt es mir meistens $00FF0000, also 9stellige Strings zurück, manchmal aber euch nur clblack oder clred. Gibt es einen Weg, wie ich immer nur diesen 9stelligen Code zurück bekomme? Also auch wenn man eigentlich clblack nehmen könnte? Danke schonmal! :firejump: |
Re: Farbcodes
Check mal ColorToRGB ab!
mfg phlux |
Re: Farbcodes
Das hab' ich schon, da ist die Länge aber auch nicht immer gleich lang :cry: .
|
Re: Farbcodes
Dann teste mal folgende Funktionen:
Delphi-Quellcode:
...:cat:...
function HexToColor(St: String): TColor;
begin Result := TColor(StrToInt(St)); end; function ColorToHex(Col: TColor): String; begin Result := '$' + IntToHex(Integer(Col), 8); end; |
Re: Farbcodes
Ich hab's probiert, es dauert aber selbst bei kleinen Bildern zu lange.
Ich glaube es geht einfach nicht... Danke! |
Re: Farbcodes
Wie greifst du den auf die Pixel zu?
|
Re: Farbcodes
und wenn du immer R + G + B nimmst und diese mit führenden Nullen?? dann hast du immer 9stellige ergebnisse
|
Re: Farbcodes
Mein Code sieht so aus:
Delphi-Quellcode:
An der Stelle von !! müsste dann sowas wie ColorToString oder ähnliches stehen.
var
X, Y: Integer; begin for X := 0 to Image1.Width do begin for Y := 0 to Image1.Height do begin Memo1.Text := Memo1.Text+!!Image1.Canvas.Pixels[X, Y]; end; end; Ich habe mal gelesen das Canvas sehr langsam ist, gibts noch eine andere Möglichkeit? Oder: Wenn ich ein Bild mit einem Hexeditor öffne, steht ja auch was aus Zahlen und Buchstaben drin. Gibt es eine Komponente die mir sowas ermöglicht? Danke! Danke! Danke! [edit=Daniel B]Delphi-Tags korrigiert. Mfg, Daniel B[/edit] |
Re: Farbcodes
Wie Luckie schon meinte, daß, was lange dauert ist der Zugriff über Pixels. Suche mal nach
![]() ...:cat:... |
Re: Farbcodes
Gut, also der Zugriff über Pixels ist zu langsam. Was könnte ich dann benutzen?
Also wie kann ich die Pixel von einem Bild in Buchstaben bzw. Zahlen umwandeln? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:50 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 by Thomas Breitkreuz