Форум: "Начинающим";
Текущий архив: 2006.09.24;
Скачать: [xml.tar.bz2];
ВнизКод цвета Найти похожие ветки
← →
nordic3 (2006-09-01 21:03) [0]Как при нажатии кнопки в Edit записать код пиксела Image?
Собственно проблема: преобразовать TColor в string.
И причем не должно быть всяких clBlue или clRed. Только код типа $00FF00FF.
← →
Anatoly Podgoretsky © (2006-09-01 21:07) [1]Придется переводить TColor в RGB, ну а дальше побайтно в hex
← →
nordic3 (2006-09-01 21:08) [2]А можно по-подробнее?
← →
Loginov Dmitry © (2006-09-01 22:24) [3]IntToHex()
← →
Anatoly Podgoretsky © (2006-09-02 00:09) [4]nordic3 (01.09.06 21:08) [2]
TColor это не RGB, поэтому его надо преобразовывать.
Если надо именно так $00FF00FF, то достаточно IntToHex, но это опять же не RGB, а Integer в hex нотации. RGB будет если перевернуть. А так это Palette, B, G, R
← →
Германн © (2006-09-02 01:31) [5]
> Anatoly Podgoretsky © (02.09.06 00:09) [4]
>
> nordic3 (01.09.06 21:08) [2]
> TColor это не RGB, поэтому его надо преобразовывать.
Так в сабже никто и не просил преобразовывать в RGB. Так что действительно достаточно IntToHex(PixelColor,8);
Но вот только неясна суть замысла. Зачем его записывать в Edit?
← →
Vovan#1 (2006-09-02 18:48) [6]Начиная с какой-то версии (с 6-ой?) Delphi есть в стандартной поставке модуль GraphUtil:
uses GraphUtil;
{ Converts a TColor to a Web color constant like #FFFFFF }
function ColorToWebColorStr(Color: TColor): string;
Её код:
function ColorToWebColorStr(Color: TColor): string;
var
RGB: Integer;
begin
RGB := ColorToRGB(Color);
Result := UpperCase(Format("#%.2x%.2x%.2x", [GetRValue(RGB),
GetGValue(RGB), GetBValue(RGB)])); { do not localize }
end;
← →
nordic3 (2006-09-03 17:59) [7]Вот более точный вопрос:
нажимаешь на кнопку, в Edit пишется код (типа $00FF00FF) цвета [5,5]пиксела из Image!
Пожалуйста, можно подробный пример!
← →
PSPF2003 © (2006-09-03 18:05) [8]Col := Image1.Canvas.Pixels[125, 125];
Edit1.Text := "$" + IntToHex(Col, 2);
← →
Gydvin © (2006-09-03 20:20) [9]а чем функции colortostring, stringtocolor не устраивают?
← →
vrem (2006-09-03 20:55) [10]function divdw(col:longword; he:byte):byte; //col = цвет, he: 0=pal, 1=B, 2=G, 3=R, result - выбранный байт из 4-х
asm
mov ecx,eax
cmp dl,0
je @@1
shl ecx,8
cmp dl,1
je @@1
shl ecx,8
cmp dl,2
je @@1
shl ecx,8
@@1: shld eax,ecx,8
end;
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.09.24;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.047 c