GuColor2Int - цвет пикселя под курсором, перевод цвета в строку или число и обратно Год выпуска: 2014 Версия: 0.4 (FreeWare) Разработчик: GuSoft Разрядность: 32bit Язык интерфейса: Русский Таблэтка: Не требуется Системные требования: XpSp3 и выше Описание: Мне редко, но при разработке появляется необходимость раскрасить что либо в тона чего либо (имеющийся сайт, логотип, прога и тп). На глаз - долго, особенно если есть нестандартные цвета. Как-то недавно меня это достало. Основная функция проги - аналог пипетки в фотошопе. Кому будет интересна: веб-дизайнерам, программистам. Может другие, конешна, есть средства для таких целей, не заморачивался. Программа не требует установки. Что могёт: 1. 3 режима. Основной - показ координат и цвета пикселя под курсором - в числовом, текстовом (если виндовский "текстовый" стандарт из палитры, а там их много), 16-ричном и RGB - представлении 2. Обратный режим с выбором цвета из палитры 3. Обратный режим с вводом значений 4. Дополнительно - см. абзац "Обновления" Примечание: Код основного модуля прилагается. Используйте на свое усмотрение. Бесплатно. Доп. информация: 1. Чтобы скопировать результат - окно должно быть в фокусе (активно). Хотя окно проги имеет статус "поверх всех", все же оно должно быть выделено для копирования результатов. В этом случае - действует комбинация клавиш "Ctrl+U" - копирует результат в текстовый буфер обмена. 2. По 3 режиму. Примеры ввода для преобразования даны сверху в окошке при переключении на режим. Чтобы ввести цвет строкой - добавляйте "cl" - "clRed" например (ну да, все на англ.). Чтобы ввести 16-ричное значение - добавляйте $ перед ним - $12a6f. Числовое значение вводится обычно. Не верные значения или введенные за пределами диапазона - просто вызовут ошибку перевода или дадут 0 (черный цвет). Обновления:
С версии 0.3 на 0.4
1. Добавлены форматы: Html, Hsv, Cmyk 2. Добавлен перевод строк из html (пример #FFE4C4) 3. Диалог вызова палитры заменен на выпадающий цветной список со стандартными цветами Windows, для вызова палитры теперь необходимо выбрать в этом списке элемент "Выбор..." (первый в списке, над черным) 4. Добавлена кнопка запуска Windows Лупы 5. Добавлен выбор из стандартных Html цветов, с указанием их значений
Новая морда
Код основного модуля, версия 0.3
Нацарапал "для себя", мог где то что-то накосячить. Найдете где - пишите в комменты.
Unit GuC2IMainUnit; // GuColor2Int, 0.3, Delphi Rad Xe6, GuSoft (C), 2014 Interface Uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.StdCtrls, Vcl.Clipbrd; Type TGuColor2IntMainForm = class(TForm) Timer1: TTimer; Panel1: TPanel; ColorDialog1: TColorDialog; Panel2: TPanel; RadioButton1: TRadioButton; RadioButton2: TRadioButton; Button1: TButton; Label1: TLabel; Panel3: TPanel; RadioButton3: TRadioButton; Edit1: TEdit; Button2: TButton; Label2: TLabel; procedure Timer1Timer(Sender: TObject); procedure Button1Click(Sender: TObject); procedure RadioButton1Click(Sender: TObject); procedure RadioButton2Click(Sender: TObject); procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure RadioButton3Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Label2Click(Sender: TObject); private { Private declarations } Procedure Gu(Const Color:TColor); Function DskColor(Const x,y: NativeInt): TColor; public { Public declarations } end; Var GuColor2IntMainForm: TGuColor2IntMainForm; Implementation {$R *.dfm} Function TGuColor2IntMainForm.DskColor(Const x,y: NativeInt): TColor; Var c:TCanvas; begin c:=TCanvas.Create;c.Handle:=GetWindowDC(GetDesktopWindow);Result:=GetPixel(c.Handle,x,y);c.Free; end; procedure TGuColor2IntMainForm.Button1Click(Sender: TObject); begin if ColorDialog1.Execute then Gu(ColorDialog1.Color); end; procedure TGuColor2IntMainForm.RadioButton1Click(Sender: TObject); begin Timer1.Enabled:=true;Button1.Enabled:=False;Button2.Enabled:=False; end; procedure TGuColor2IntMainForm.RadioButton2Click(Sender: TObject); begin Timer1.Enabled:=False;Panel2.Caption:='Выбор. Выберите цвет из палитры';Button1.Enabled:=True; Panel1.Caption:='Ожидание выбора';Panel3.Color:=clBtnFace;panel3.Font.Color:=clBlack;Button2.Enabled:=False; end; procedure TGuColor2IntMainForm.RadioButton3Click(Sender: TObject); begin Timer1.Enabled:=False;Panel2.Caption:='Перевод. Примеры ввода: 12345, clRed, $AB123F';Button1.Enabled:=False;Button2.Enabled:=True; Panel1.Caption:='Ожидание ввода';Panel3.Color:=clBtnFace;Panel3.Font.Color:=clBlack; end; procedure TGuColor2IntMainForm.Button2Click(Sender: TObject); begin Try if Edit1.Text'' then Gu(StringToColor(Edit1.Text)); Except Panel3.Color:=clBtnFace;Panel1.Caption:='Ошибка перевода';Panel3.Font.Color:=clBlack; End; end; procedure TGuColor2IntMainForm.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (Shift=[ssCtrl])and(Key=85){U} then Clipboard.AsText:=Panel2.Caption+' - '+Panel1.Caption; end; Procedure TGuColor2IntMainForm.Gu(Const Color:TColor); Var R,G,B:byte; S:String; begin R:=GetRValue(Color); G:=GetGValue(Color); B:=GetBValue(Color); If Not ColorToIdent(Color,s) then s:='' else s:=', Str: '+s; Panel1.Caption:='Int: '+IntToStr(Color)+', RGB: '+IntToStr(r)+':'+IntToStr(g)+':'+IntToStr(b)+', Hex: '+IntToHex(color,6)+s; Panel3.Color:=Color; Panel3.Font.Color:=Color Xor $FFFFFF; end; procedure TGuColor2IntMainForm.Timer1Timer(Sender: TObject); Var pos:TPoint; begin GetCursorPos(Pos); Gu(DskColor(pos.x, pos.y)); Panel2.Caption:='X: '+IntToStr(pos.x)+' ('+IntToStr(Screen.Width)+'), Y:'+IntToStr(pos.y)+' ('+IntToStr(Screen.Height)+')'; end; end.
Буду рад, если кому пригодится. Проверка на VT: тут. Еще моя прога: .
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum