Rev 2 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2 | Rev 3 | ||
---|---|---|---|
Line 32... | Line 32... | ||
32 | WebSafe1: TPanel; |
32 | WebSafe1: TPanel; |
33 | WebSafe2: TPanel; |
33 | WebSafe2: TPanel; |
34 | CurrentLbl: TLabel; |
34 | CurrentLbl: TLabel; |
35 | mWebsafe: TMenuItem; |
35 | mWebsafe: TMenuItem; |
36 | mWebsafeInv: TMenuItem; |
36 | mWebsafeInv: TMenuItem; |
37 | TabControl: TTabControl; |
- | |
38 | Panel1: TPanel; |
37 | Panel1: TPanel; |
39 | RGBBox: TGroupBox; |
38 | RGBBox: TGroupBox; |
40 | RLbl: TLabel; |
39 | RLbl: TLabel; |
41 | GLbl: TLabel; |
40 | GLbl: TLabel; |
42 | BLbl: TLabel; |
41 | BLbl: TLabel; |
Line 295... | Line 294... | ||
295 | Info7: TLabel; |
294 | Info7: TLabel; |
296 | Info8: TLabel; |
295 | Info8: TLabel; |
297 | Info9: TLabel; |
296 | Info9: TLabel; |
298 | Info12: TLabel; |
297 | Info12: TLabel; |
299 | Info5: TLabel; |
298 | Info5: TLabel; |
300 | Info10: TLabel; |
- | |
301 | Info11: TLabel; |
- | |
302 | Info14: TLabel; |
299 | Info14: TLabel; |
303 | Info15: TLabel; |
300 | Info15: TLabel; |
304 | Info13: TLabel; |
301 | Info13: TLabel; |
305 | ColorTmr: TTimer; |
302 | ColorTmr: TTimer; |
306 | Info3: TLabel; |
303 | Info3: TLabel; |
307 | AverageX: TEdit; |
- | |
308 | AverageMidLbl: TLabel; |
304 | AverageMidLbl: TLabel; |
309 | AverageY: TEdit; |
- | |
310 | MagPnl: TPanel; |
305 | MagPnl: TPanel; |
311 | MagBox: TPaintBox; |
306 | MagBox: TPaintBox; |
312 | favo17: TPanel; |
307 | favo17: TPanel; |
313 | favo18: TPanel; |
308 | favo18: TPanel; |
314 | favo19: TPanel; |
309 | favo19: TPanel; |
Line 328... | Line 323... | ||
328 | GProC: TUpDown; |
323 | GProC: TUpDown; |
329 | BProC: TUpDown; |
324 | BProC: TUpDown; |
330 | RProLbl: TLabel; |
325 | RProLbl: TLabel; |
331 | GProLbl: TLabel; |
326 | GProLbl: TLabel; |
332 | BProLbl: TLabel; |
327 | BProLbl: TLabel; |
- | 328 | PageControl1: TPageControl; |
|
- | 329 | TabSheet1: TTabSheet; |
|
- | 330 | TabSheet2: TTabSheet; |
|
- | 331 | TabSheet3: TTabSheet; |
|
- | 332 | TabSheet4: TTabSheet; |
|
- | 333 | AverageX: TSpinEdit; |
|
- | 334 | AverageY: TSpinEdit; |
|
333 | procedure ColorClick(Sender: TObject; Button: TMouseButton; |
335 | procedure ColorClick(Sender: TObject; Button: TMouseButton; |
334 | Shift: TShiftState; X, Y: Integer); |
336 | Shift: TShiftState; X, Y: Integer); |
335 | procedure SaveEditChange(Sender: TObject); |
337 | procedure SaveEditChange(Sender: TObject); |
336 | procedure ColorTmrTimer(Sender: TObject); |
338 | procedure ColorTmrTimer(Sender: TObject); |
337 | procedure LinkClick(Sender: TObject); |
339 | procedure LinkClick(Sender: TObject); |
Line 341... | Line 343... | ||
341 | procedure WinDialogClick(Sender: TObject); |
343 | procedure WinDialogClick(Sender: TObject); |
342 | procedure PalClick(Sender: TObject); |
344 | procedure PalClick(Sender: TObject); |
343 | procedure OutboxPaint(Sender: TObject); |
345 | procedure OutboxPaint(Sender: TObject); |
344 | procedure FormClose(Sender: TObject; var Action: TCloseAction); |
346 | procedure FormClose(Sender: TObject; var Action: TCloseAction); |
345 | procedure WebsafeLblClick(Sender: TObject); |
347 | procedure WebsafeLblClick(Sender: TObject); |
346 | procedure TabControlChange(Sender: TObject); |
- | |
347 | procedure InvertBtnClick(Sender: TObject); |
348 | procedure InvertBtnClick(Sender: TObject); |
348 | procedure TakeClick(Sender: TObject); |
349 | procedure TakeClick(Sender: TObject); |
349 | procedure DelphiBoxClick(Sender: TObject); |
350 | procedure DelphiBoxClick(Sender: TObject); |
350 | procedure DefColorClick(Sender: TObject); |
351 | procedure DefColorClick(Sender: TObject); |
351 | procedure GreyscaleBtnClick(Sender: TObject); |
352 | procedure GreyscaleBtnClick(Sender: TObject); |
Line 356... | Line 357... | ||
356 | procedure PickBtnClick(Sender: TObject); |
357 | procedure PickBtnClick(Sender: TObject); |
357 | procedure FormCreate(Sender: TObject); |
358 | procedure FormCreate(Sender: TObject); |
358 | procedure EditKeyPress(Sender: TObject; var Key: Char); |
359 | procedure EditKeyPress(Sender: TObject; var Key: Char); |
359 | procedure UpDownClick(Sender: TObject; Button: TUDBtnType); |
360 | procedure UpDownClick(Sender: TObject; Button: TUDBtnType); |
360 | procedure Change(Sender: TObject); |
361 | procedure Change(Sender: TObject); |
- | 362 | procedure AverageXYChange(Sender: TObject); |
|
361 | private |
363 | private |
362 | LangArray: Array of TLanguageEntry; |
364 | LangArray: Array of TLanguageEntry; |
363 | function GetLangEntry(name: string): string; |
365 | function GetLangEntry(name: string): string; |
364 | public |
366 | public |
365 | SampleMethod, NewMethod: byte; |
367 | SampleMethod, NewMethod: byte; |
Line 376... | Line 378... | ||
376 | procedure Ladefarbe(col: tcolor); |
378 | procedure Ladefarbe(col: tcolor); |
377 | procedure BerechneMixColor; |
379 | procedure BerechneMixColor; |
378 | procedure CheckWebfarben; |
380 | procedure CheckWebfarben; |
379 | procedure CheckDelphiFarben; |
381 | procedure CheckDelphiFarben; |
380 | procedure ZeigeRichtigePalette; |
382 | procedure ZeigeRichtigePalette; |
381 | procedure SchreibeInt(name: string; wert: integer); |
383 | procedure WriteIntSetting(name: string; wert: integer); |
382 | function LeseInt(name: string): integer; |
384 | function ReadIntSetting(name: string): integer; |
383 | end; |
385 | end; |
384 | 386 | ||
385 | var |
387 | var |
386 | MainForm: TMainForm; |
388 | MainForm: TMainForm; |
387 | 389 | ||
Line 390... | Line 392... | ||
390 | {$R *.DFM} |
392 | {$R *.DFM} |
391 | 393 | ||
392 | {$R WindowsXP.res} |
394 | {$R WindowsXP.res} |
393 | 395 | ||
394 | const |
396 | const |
- | 397 | // Source: https://developer.mozilla.org/en-US/docs/Web/CSS/named-color |
|
395 | webfarben: array[0..140] of string = ('#F0F8FF', '#FAEBD7', '#00FFFF', '#7FFFD4', |
398 | webfarben: array[0..149] of string = ( |
- | 399 | '#f0f8ff', // aliceblue |
|
- | 400 | '#faebd7', // antiquewhite |
|
- | 401 | '#00ffff', // aqua |
|
- | 402 | '#7fffd4', // aquamarine |
|
- | 403 | '#f0ffff', // azure |
|
- | 404 | '#f5f5dc', // beige |
|
- | 405 | '#ffe4c4', // bisque |
|
- | 406 | '#000000', // black |
|
- | 407 | '#ffebcd', // blanchedalmond |
|
- | 408 | '#0000ff', // blue |
|
- | 409 | '#8a2be2', // blueviolet |
|
- | 410 | '#a52a2a', // brown |
|
- | 411 | '#deb887', // burlywood |
|
- | 412 | '#5f9ea0', // cadetblue |
|
- | 413 | '#7fff00', // chartreuse |
|
- | 414 | '#d2691e', // chocolate |
|
- | 415 | '#ff7f50', // coral |
|
- | 416 | '#6495ed', // cornflowerblue |
|
- | 417 | '#fff8dc', // cornsilk |
|
- | 418 | '#dc143c', // crimson |
|
396 | '#F0FFFF', '#F5F5DC', '#FFE4C4', '#000000', '#FFEBCD', '#0000FF', '#8A2BE2', |
419 | '#00ffff', // cyan (synonym of aqua) |
- | 420 | '#00008b', // darkblue |
|
- | 421 | '#008b8b', // darkcyan |
|
397 | '#A52A2A', '#DEB887', '#5F9EA0', '#7FFF00', '#D2691E', '#FF7F50', '#6495ED', |
422 | '#b8860b', // darkgoldenrod |
- | 423 | '#a9a9a9', // darkgray |
|
- | 424 | '#006400', // darkgreen |
|
- | 425 | '#a9a9a9', // darkgrey |
|
- | 426 | '#bdb76b', // darkkhaki |
|
398 | '#FFF8DC', '#DC143C', '#00FFFF', '#00008B', '#008B8B', '#B8860B', '#A9A9A9', |
427 | '#8b008b', // darkmagenta |
399 | '#006400', '#BDB76B', '#8B008B', '#556B2F', '#FF8C00', '#9932CC', '#8B0000', |
428 | '#556b2f', // darkolivegreen |
- | 429 | '#ff8c00', // darkorange |
|
- | 430 | '#9932cc', // darkorchid |
|
- | 431 | '#8b0000', // darkred |
|
- | 432 | '#e9967a', // darksalmon |
|
- | 433 | '#8fbc8f', // darkseagreen |
|
400 | '#E9967A', '#8FBC8F', '#483D8B', '#2F4F4F', '#00CED1', '#9400D3', '#FF1493', |
434 | '#483d8b', // darkslateblue |
- | 435 | '#2f4f4f', // darkslategray |
|
- | 436 | '#2f4f4f', // darkslategrey |
|
401 | '#00BFFF', '#696969', '#1E90FF', '#B22222', '#FFFAF0', '#228B22', '#FF00FF', |
437 | '#00ced1', // darkturquoise |
- | 438 | '#9400d3', // darkviolet |
|
- | 439 | '#ff1493', // deeppink |
|
- | 440 | '#00bfff', // deepskyblue |
|
- | 441 | '#696969', // dimgray |
|
- | 442 | '#696969', // dimgrey |
|
- | 443 | '#1e90ff', // dodgerblue |
|
- | 444 | '#b22222', // firebrick |
|
- | 445 | '#fffaf0', // floralwhite |
|
- | 446 | '#228b22', // forestgreen |
|
- | 447 | '#ff00ff', // fuchsia |
|
- | 448 | '#dcdcdc', // gainsboro |
|
- | 449 | '#f8f8ff', // ghostwhite |
|
- | 450 | '#ffd700', // gold |
|
- | 451 | '#daa520', // goldenrod |
|
- | 452 | '#808080', // gray |
|
402 | '#DCDCDC', '#F8F8FF', '#FFD700', '#DAA520', '#808080', '#008000', '#ADFF2F', |
453 | '#008000', // green |
- | 454 | '#adff2f', // greenyellow |
|
403 | '#808080', '#F0FFF0', '#FF69B4', '#CD5C5C', '#4B0082', '#FFFFF0', '#F0E68C', |
455 | '#808080', // grey (synonym of gray) |
- | 456 | '#f0fff0', // honeydew |
|
- | 457 | '#ff69b4', // hotpink |
|
- | 458 | '#cd5c5c', // indianred |
|
- | 459 | '#4b0082', // indigo |
|
- | 460 | '#fffff0', // ivory |
|
- | 461 | '#f0e68c', // khaki |
|
- | 462 | '#e6e6fa', // lavender |
|
404 | '#E6E6FA', '#FFF0F5', '#7CFC00', '#FFFACD', '#ADD8E6', '#F08080', '#E0FFFF', |
463 | '#fff0f5', // lavenderblush |
- | 464 | '#7cfc00', // lawngreen |
|
- | 465 | '#fffacd', // lemonchiffon |
|
- | 466 | '#add8e6', // lightblue |
|
- | 467 | '#f08080', // lightcoral |
|
- | 468 | '#e0ffff', // lightcyan |
|
405 | '#FAFAD2', '#90EE90', '#D3D3D3', '#FFB6C1', '#FFA07A', '#20B2AA', '#87CEFA', |
469 | '#fafad2', // lightgoldenrodyellow |
- | 470 | '#d3d3d3', // lightgray |
|
- | 471 | '#90ee90', // lightgreen |
|
- | 472 | '#d3d3d3', // lightgrey |
|
- | 473 | '#ffb6c1', // lightpink |
|
- | 474 | '#ffa07a', // lightsalmon |
|
- | 475 | '#20b2aa', // lightseagreen |
|
- | 476 | '#87cefa', // lightskyblue |
|
- | 477 | '#778899', // lightslategray |
|
406 | '#778899', '#B0C4DE', '#FFFFE0', '#00FF00', '#32CD32', '#FAF0E6', '#FF00FF', |
478 | '#778899', // lightslategrey |
- | 479 | '#b0c4de', // lightsteelblue |
|
- | 480 | '#ffffe0', // lightyellow |
|
- | 481 | '#00ff00', // lime |
|
- | 482 | '#00ff00', // lime |
|
- | 483 | '#32cd32', // limegreen |
|
- | 484 | '#faf0e6', // linen |
|
407 | '#800000', '#66CDAA', '#0000CD', '#BA55D3', '#9370DB', '#3CB371', '#7B68EE', |
485 | '#ff00ff', // magenta (synonym of fuchsia) |
- | 486 | '#800000', // maroon |
|
- | 487 | '#800000', // maroon |
|
408 | '#00FA9A', '#48D1CC', '#C71585', '#191970', '#F5FFFA', '#FFE4E1', '#FFE4B5', |
488 | '#66cdaa', // mediumaquamarine |
409 | '#FFDEAD', '#000080', '#FDF5E6', '#808000', '#6B8E23', '#FFA500', '#FF4500', |
489 | '#0000cd', // mediumblue |
- | 490 | '#ba55d3', // mediumorchid |
|
- | 491 | '#9370db', // mediumpurple |
|
- | 492 | '#3cb371', // mediumseagreen |
|
410 | '#DA70D6', '#EEE8AA', '#98FB98', '#AFEEEE', '#DB7093', '#FFEFD5', '#FFDAB9', |
493 | '#7b68ee', // mediumslateblue |
411 | '#CD853F', '#FFC0CB', '#DDA0DD', '#B0E0E6', '#800080', '#FF0000', '#BC8F8F', |
494 | '#00fa9a', // mediumspringgreen |
412 | '#4169E1', '#8B4513', '#FA8072', '#F4A460', '#2E8B57', '#FFF5EE', '#A0522D', |
495 | '#48d1cc', // mediumturquoise |
413 | '#C0C0C0', '#87CEEB', '#6A5ACD', '#708090', '#FFFAFA', '#00FF7F', '#4682B4', |
496 | '#c71585', // mediumvioletred |
- | 497 | '#191970', // midnightblue |
|
- | 498 | '#f5fffa', // mintcream |
|
- | 499 | '#ffe4e1', // mistyrose |
|
- | 500 | '#ffe4b5', // moccasin |
|
- | 501 | '#ffdead', // navajowhite |
|
- | 502 | '#000080', // navy |
|
- | 503 | '#fdf5e6', // oldlace |
|
- | 504 | '#808000', // olive |
|
- | 505 | '#6b8e23', // olivedrab |
|
- | 506 | '#ffa500', // orange |
|
- | 507 | '#ff4500', // orangered |
|
- | 508 | '#da70d6', // orchid |
|
- | 509 | '#eee8aa', // palegoldenrod |
|
- | 510 | '#98fb98', // palegreen |
|
- | 511 | '#afeeee', // paleturquoise |
|
414 | '#D2B48C', '#008080', '#D8BFD8', '#FF6347', '#40E0D0', '#EE82EE', '#F5DEB3', |
512 | '#db7093', // palevioletred |
- | 513 | '#ffefd5', // papayawhip |
|
- | 514 | '#ffdab9', // peachpuff |
|
- | 515 | '#cd853f', // peru |
|
- | 516 | '#ffc0cb', // pink |
|
- | 517 | '#dda0dd', // plum |
|
- | 518 | '#b0e0e6', // powderblue |
|
- | 519 | '#800080', // purple |
|
- | 520 | '#663399', // rebeccapurple |
|
- | 521 | '#ff0000', // red |
|
- | 522 | '#bc8f8f', // rosybrown |
|
- | 523 | '#4169e1', // royalblue |
|
- | 524 | '#8b4513', // saddlebrown |
|
- | 525 | '#fa8072', // salmon |
|
- | 526 | '#f4a460', // sandybrown |
|
- | 527 | '#2e8b57', // seagreen |
|
- | 528 | '#fff5ee', // seashell |
|
- | 529 | '#a0522d', // sienna |
|
- | 530 | '#c0c0c0', // silver |
|
- | 531 | '#87ceeb', // skyblue |
|
- | 532 | '#6a5acd', // slateblue |
|
- | 533 | '#708090', // slategray |
|
- | 534 | '#708090', // slategrey |
|
- | 535 | '#fffafa', // snow |
|
- | 536 | '#00ff7f', // springgreen |
|
- | 537 | '#4682b4', // steelblue |
|
- | 538 | '#d2b48c', // tan |
|
- | 539 | '#008080', // teal |
|
- | 540 | '#d8bfd8', // thistle |
|
- | 541 | '#ff6347', // tomato |
|
- | 542 | '#40e0d0', // turquoise |
|
- | 543 | '#ee82ee', // violet |
|
- | 544 | '#f5deb3', // wheat |
|
- | 545 | '#ffffff', // white |
|
415 | '#FFFFFF', '#F5F5F5', '#FFFF00', '#9ACD32'); |
546 | '#f5f5f5', // whitesmoke |
- | 547 | '#ffff00', // yellow |
|
- | 548 | '#9acd32' // yellowgreen |
|
- | 549 | ); |
|
416 | 550 | ||
417 | function TMainForm.GetLangEntry(name: string): string; |
551 | function TMainForm.GetLangEntry(name: string): string; |
418 | var |
552 | var |
419 | i: integer; |
553 | i: integer; |
420 | begin |
554 | begin |
Line 558... | Line 692... | ||
558 | begin |
692 | begin |
559 | if not PickBtn.Enabled then |
693 | if not PickBtn.Enabled then |
560 | SetCapture(MainForm.Handle); |
694 | SetCapture(MainForm.Handle); |
561 | end; |
695 | end; |
562 | 696 | ||
- | 697 | procedure TMainForm.AverageXYChange(Sender: TObject); |
|
- | 698 | begin |
|
- | 699 | WriteIntSetting(TSpinEdit(sender).GetNamePath, TSpinEdit(sender).Value); |
|
- | 700 | end; |
|
- | 701 | ||
563 | procedure TMainForm.DrawGrad(BoxNum: integer); |
702 | procedure TMainForm.DrawGrad(BoxNum: integer); |
564 | var |
703 | var |
565 | R, G, B, S, V: byte; |
704 | R, G, B, S, V: byte; |
566 | H: integer; |
705 | H: integer; |
567 | begin |
706 | begin |
Line 753... | Line 892... | ||
753 | ini.free; |
892 | ini.free; |
754 | str.Free; |
893 | str.Free; |
755 | end; |
894 | end; |
756 | end; |
895 | end; |
757 | 896 | ||
- | 897 | PageControl1.ActivePageIndex := 0; |
|
- | 898 | ||
758 | // Elemente mit Sprache versehen |
899 | // Elemente mit Sprache versehen |
759 | rgbbox.Caption := GetLangEntry('rgb'); |
900 | rgbbox.Caption := GetLangEntry('rgb'); |
760 | hsvbox.Caption := GetLangEntry('hsv'); |
901 | hsvbox.Caption := GetLangEntry('hsv'); |
761 | rdeclbl.Caption := GetLangEntry('dec'); |
902 | rdeclbl.Caption := GetLangEntry('dec'); |
762 | gdeclbl.Caption := GetLangEntry('dec'); |
903 | gdeclbl.Caption := GetLangEntry('dec'); |
Line 791... | Line 932... | ||
791 | longlbl.caption := GetLangEntry('long'); |
932 | longlbl.caption := GetLangEntry('long'); |
792 | currentlbl.caption := GetLangEntry('current'); |
933 | currentlbl.caption := GetLangEntry('current'); |
793 | websafelbl.caption := GetLangEntry('websafelbl'); |
934 | websafelbl.caption := GetLangEntry('websafelbl'); |
794 | komplementaercolor.Caption := GetLangEntry('invcolor'); |
935 | komplementaercolor.Caption := GetLangEntry('invcolor'); |
795 | websafe2.Caption := GetLangEntry('invwebsafe'); |
936 | websafe2.Caption := GetLangEntry('invwebsafe'); |
796 | tabcontrol.tabs.clear; |
- | |
797 | tabcontrol.Tabs.add(GetLangEntry('tab1')); |
937 | PageControl1.Pages[0].Caption := GetLangEntry('tab1'); |
798 | tabcontrol.Tabs.add(GetLangEntry('tab2')); |
938 | PageControl1.Pages[1].Caption := GetLangEntry('tab2'); |
799 | tabcontrol.Tabs.add(GetLangEntry('tab3')); |
939 | PageControl1.Pages[2].Caption := GetLangEntry('tab3'); |
800 | tabcontrol.Tabs.add(GetLangEntry('tab4')); |
940 | PageControl1.Pages[3].Caption := GetLangEntry('tab4'); |
801 | colormixerbox.Caption := getlangentry('colormixer'); |
941 | colormixerbox.Caption := getlangentry('colormixer'); |
802 | color1.Caption := getlangentry('color') + ' 1'; |
942 | color1.Caption := getlangentry('color') + ' 1'; |
803 | color2.Caption := getlangentry('color') + ' 2'; |
943 | color2.Caption := getlangentry('color') + ' 2'; |
804 | mixedcolor.caption := getlangentry('mixedcolor'); |
944 | mixedcolor.caption := getlangentry('mixedcolor'); |
805 | colorbox.caption := getlangentry('colors'); |
945 | colorbox.caption := getlangentry('colors'); |
806 | pallbl.Caption := getlangentry('availablepals'); |
946 | pallbl.Caption := getlangentry('availablepals'); |
807 | delphiboxlbl.Caption := getlangentry('delphipal'); |
947 | delphiboxlbl.Caption := getlangentry('delphipal'); |
808 | webcolorlbl.Caption := getlangentry('css3'); |
948 | webcolorlbl.Caption := getlangentry('css'); |
809 | delphizutreffendlbl.Caption := getlangentry('zutr'); |
949 | delphizutreffendlbl.Caption := getlangentry('zutr'); |
810 | webzutreffendlbl.Caption := getlangentry('zutr'); |
950 | webzutreffendlbl.Caption := getlangentry('zutr'); |
811 | qblbl.Caption := getlangentry('vgapal'); |
951 | qblbl.Caption := getlangentry('vgapal'); |
812 | windialog.Caption := getlangentry('windialog'); |
952 | windialog.Caption := getlangentry('windialog'); |
813 | favoritenlbl.Caption := getlangentry('favorites'); |
953 | favoritenlbl.Caption := getlangentry('favorites'); |
Line 821... | Line 961... | ||
821 | pickbtn.Caption := getlangentry('capture'); |
961 | pickbtn.Caption := getlangentry('capture'); |
822 | info3.Caption := getlangentry('createdwith'); |
962 | info3.Caption := getlangentry('createdwith'); |
823 | info4.Caption := getlangentry('leader'); |
963 | info4.Caption := getlangentry('leader'); |
824 | info6.Caption := getlangentry('email'); |
964 | info6.Caption := getlangentry('email'); |
825 | info8.Caption := getlangentry('website'); |
965 | info8.Caption := getlangentry('website'); |
826 | info10.Caption := getlangentry('icq'); |
- | |
827 | info13.Caption := getlangentry('webportal'); |
966 | info13.Caption := getlangentry('webportal'); |
828 | info14.Caption := getlangentry('viathinksoft'); |
967 | info14.Caption := getlangentry('viathinksoft'); |
829 | info15.Caption := getlangentry('projektseite'); |
968 | info15.Caption := getlangentry('projektseite'); |
830 | info5.Caption := getlangentry('contact'); |
969 | info5.Caption := getlangentry('contact'); |
831 | info12.Caption := getlangentry('links'); |
970 | info12.Caption := getlangentry('links'); |
Line 850... | Line 989... | ||
850 | popupmenu.Items.Items[2].Caption := getlangentry('PopupC'); |
989 | popupmenu.Items.Items[2].Caption := getlangentry('PopupC'); |
851 | 990 | ||
852 | // Favoriten-Farben und Einstellungen aus Registry holen |
991 | // Favoriten-Farben und Einstellungen aus Registry holen |
853 | pal.ItemIndex := 0; |
992 | pal.ItemIndex := 0; |
854 | for i := 1 to 20 do |
993 | for i := 1 to 20 do |
855 | tpanel(mainform.FindComponent('favo'+inttostr(i))).Color := LeseInt('favo'+inttostr(i)); |
994 | tpanel(mainform.FindComponent('favo'+inttostr(i))).Color := ReadIntSetting('favo'+inttostr(i)); |
856 | pal.ItemIndex := LeseInt('Palette'); |
995 | pal.ItemIndex := ReadIntSetting('Palette'); |
857 | AverageX.Text := inttostr(LeseInt('AverageX')); |
996 | AverageX.Value := ReadIntSetting('AverageX'); |
858 | AverageY.Text := inttostr(LeseInt('AverageY')); |
997 | AverageY.Value := ReadIntSetting('AverageY'); |
859 | 998 | ||
860 | ZeigeRichtigePalette; |
999 | ZeigeRichtigePalette; |
861 | end; |
1000 | end; |
862 | 1001 | ||
863 | function WebSafeColor(inp: TColor): TColor; |
1002 | function WebSafeColor(inp: TColor): TColor; |
Line 1011... | Line 1150... | ||
1011 | end |
1150 | end |
1012 | else if (sender = Photoshop) then |
1151 | else if (sender = Photoshop) then |
1013 | begin |
1152 | begin |
1014 | if not (Key in [#13, #08, '0'..'9', 'a'..'f', 'A'..'F']) then Key := #0; |
1153 | if not (Key in [#13, #08, '0'..'9', 'a'..'f', 'A'..'F']) then Key := #0; |
1015 | end |
1154 | end |
1016 | else if (sender = Long) or (sender = AverageX) or (sender = AverageY) or |
1155 | else if (sender = Long) or |
1017 | (sender = SPro) or (sender = VPro) or (sender = RPro) or (sender = GPro) or |
1156 | (sender = SPro) or (sender = VPro) or (sender = RPro) or (sender = GPro) or |
1018 | (sender = BPro) then |
1157 | (sender = BPro) then |
1019 | begin |
1158 | begin |
1020 | if not (Key in [#13, #08, '0'..'9']) then Key := #0; |
1159 | if not (Key in [#13, #08, '0'..'9']) then Key := #0; |
1021 | end |
1160 | end |
Line 1455... | Line 1594... | ||
1455 | CursorPos: TPoint; |
1594 | CursorPos: TPoint; |
1456 | PixelCol: TColor; |
1595 | PixelCol: TColor; |
1457 | AverageR, AverageG, AverageB: integer; |
1596 | AverageR, AverageG, AverageB: integer; |
1458 | x, y: shortint; |
1597 | x, y: shortint; |
1459 | begin |
1598 | begin |
- | 1599 | if PageControl1.ActivePage <> TabSheet3 then exit; |
|
- | 1600 | ||
1460 | GetCursorPos(CursorPos); |
1601 | GetCursorPos(CursorPos); |
1461 | CoordsLbl.Caption := Format('%d,' + #13 + '%d', [CursorPos.x, CursorPos.y]); |
1602 | CoordsLbl.Caption := Format('%d,' + #13 + '%d', [CursorPos.x, CursorPos.y]); |
1462 | 1603 | ||
1463 | AverageR := 0; |
1604 | AverageR := 0; |
1464 | AverageG := 0; |
1605 | AverageG := 0; |
1465 | Averageb := 0; |
1606 | Averageb := 0; |
1466 | for y := -floor((strtoint(AverageY.text)-1)/2) to ceil((strtoint(AverageY.text)-1)/2) do |
1607 | for y := -floor((AverageY.Value-1)/2) to ceil((AverageY.Value-1)/2) do |
1467 | for x := -floor((strtoint(AverageX.text)-1)/2) to ceil((strtoint(AverageX.text)-1)/2) do |
1608 | for x := -floor((AverageX.Value-1)/2) to ceil((AverageX.Value-1)/2) do |
1468 | begin |
1609 | begin |
1469 | PixelCol := GetPixel(ScreenDC, CursorPos.x + x, CursorPos.y + y); |
1610 | PixelCol := GetPixel(ScreenDC, CursorPos.x + x, CursorPos.y + y); |
1470 | AverageR := AverageR + GetRValue(PixelCol); |
1611 | AverageR := AverageR + GetRValue(PixelCol); |
1471 | AverageG := AverageG + GetGValue(PixelCol); |
1612 | AverageG := AverageG + GetGValue(PixelCol); |
1472 | AverageB := AverageB + GetBValue(PixelCol); |
1613 | AverageB := AverageB + GetBValue(PixelCol); |
1473 | end; |
1614 | end; |
1474 | if strtoint(AverageX.text)*strtoint(AverageY.text) > 0 then |
1615 | if AverageX.Value*AverageY.Value > 0 then |
1475 | AverageR := AverageR div (strtoint(AverageX.text)*strtoint(AverageY.text)); |
1616 | AverageR := AverageR div (AverageX.Value*AverageY.Value); |
1476 | if strtoint(AverageX.text)*strtoint(AverageY.text) > 0 then |
1617 | if AverageX.Value*AverageY.Value > 0 then |
1477 | AverageG := AverageG div (strtoint(AverageX.text)*strtoint(AverageY.text)); |
1618 | AverageG := AverageG div (AverageX.Value*AverageY.Value); |
1478 | if strtoint(AverageX.text)*strtoint(AverageY.text) > 0 then |
1619 | if AverageX.Value*AverageY.Value > 0 then |
1479 | AverageB := AverageB div (strtoint(AverageX.text)*strtoint(AverageY.text)); |
1620 | AverageB := AverageB div (AverageX.Value*AverageY.Value); |
1480 | 1621 | ||
1481 | PixelCol := RGB(Lo(AverageR), Lo(AverageG), Lo(AverageB)); |
1622 | PixelCol := RGB(Lo(AverageR), Lo(AverageG), Lo(AverageB)); |
1482 | 1623 | ||
1483 | BitBlt(MemPix.Canvas.Handle, |
1624 | BitBlt(MemPix.Canvas.Handle, |
1484 | 0, 0, |
1625 | 0, 0, |
1485 | strtoint(AverageX.text), strtoint(AverageY.text), |
1626 | AverageX.Value, AverageY.Value, |
1486 | ScreenDC, |
1627 | ScreenDC, |
1487 | CursorPos.x - floor(strtoint(AverageX.text)/2), CursorPos.y - floor(strtoint(AverageY.text)/2), |
1628 | CursorPos.x - floor(AverageX.Value/2), CursorPos.y - floor(AverageY.Value/2), |
1488 | SRCCOPY); |
1629 | SRCCOPY); |
1489 | StretchBlt(MagBox.Canvas.Handle, |
1630 | StretchBlt(MagBox.Canvas.Handle, |
1490 | 0, 0, |
1631 | 0, 0, |
1491 | MagBox.Width, MagBox.Height, |
1632 | MagBox.Width, MagBox.Height, |
1492 | MemPix.Canvas.Handle, |
1633 | MemPix.Canvas.Handle, |
1493 | 0, 0, |
1634 | 0, 0, |
1494 | strtoint(AverageX.text), strtoint(AverageY.text), |
1635 | AverageX.Value, AverageY.Value, |
1495 | SRCCOPY); |
1636 | SRCCOPY); |
1496 | 1637 | ||
1497 | if not PickBtn.Enabled then |
1638 | if not PickBtn.Enabled then |
1498 | Ladefarbe(PixelCol); |
1639 | Ladefarbe(PixelCol); |
1499 | end; |
1640 | end; |
Line 1539... | Line 1680... | ||
1539 | (PopupmenuSender = favo7) or (PopupmenuSender = favo8) or (PopupmenuSender = favo9) or |
1680 | (PopupmenuSender = favo7) or (PopupmenuSender = favo8) or (PopupmenuSender = favo9) or |
1540 | (PopupmenuSender = favo10) or (PopupmenuSender = favo11) or (PopupmenuSender = favo12) or |
1681 | (PopupmenuSender = favo10) or (PopupmenuSender = favo11) or (PopupmenuSender = favo12) or |
1541 | (PopupmenuSender = favo13) or (PopupmenuSender = favo14) or (PopupmenuSender = favo15) or |
1682 | (PopupmenuSender = favo13) or (PopupmenuSender = favo14) or (PopupmenuSender = favo15) or |
1542 | (PopupmenuSender = favo16) or (PopupmenuSender = favo17) or (PopupmenuSender = favo18) or |
1683 | (PopupmenuSender = favo16) or (PopupmenuSender = favo17) or (PopupmenuSender = favo18) or |
1543 | (PopupmenuSender = favo19) or (PopupmenuSender = favo20) then |
1684 | (PopupmenuSender = favo19) or (PopupmenuSender = favo20) then |
1544 | SchreibeInt(tpanel(PopupmenuSender).GetNamePath, colortorgb(tpanel(PopupmenuSender).color)); |
1685 | WriteIntSetting(tpanel(PopupmenuSender).GetNamePath, colortorgb(tpanel(PopupmenuSender).color)); |
1545 | end; |
1686 | end; |
1546 | 1687 | ||
1547 | procedure TMainForm.Menu2Click(Sender: TObject); |
1688 | procedure TMainForm.Menu2Click(Sender: TObject); |
1548 | begin |
1689 | begin |
1549 | if sender = mAktuell2 then |
1690 | if sender = mAktuell2 then |
Line 1551... | Line 1692... | ||
1551 | if sender = mKomplementaer2 then |
1692 | if sender = mKomplementaer2 then |
1552 | Ladefarbe(tpanel(PopupmenuSender).Color xor $FFFFFF); |
1693 | Ladefarbe(tpanel(PopupmenuSender).Color xor $FFFFFF); |
1553 | end; |
1694 | end; |
1554 | 1695 | ||
1555 | procedure TMainForm.GreyscaleBtnClick(Sender: TObject); |
1696 | procedure TMainForm.GreyscaleBtnClick(Sender: TObject); |
- | 1697 | var |
|
- | 1698 | i: integer; |
|
1556 | begin |
1699 | begin |
1557 | S.Position := 0; |
1700 | //S.Position := 0; |
- | 1701 | ||
- | 1702 | i := Round((R.Position*0.2126) + (G.Position*0.7152) + (B.Position*0.0722)); |
|
- | 1703 | ||
- | 1704 | R.OnChange := nil; |
|
- | 1705 | G.OnChange := nil; |
|
- | 1706 | B.OnChange := nil; |
|
- | 1707 | ||
- | 1708 | R.Position := i; |
|
- | 1709 | G.Position := i; |
|
- | 1710 | B.Position := i; |
|
- | 1711 | ||
- | 1712 | AktualisiereWert(r); |
|
- | 1713 | AktualisiereWert(g); |
|
- | 1714 | AktualisiereWert(b); |
|
- | 1715 | ||
- | 1716 | R.OnChange := Change; |
|
- | 1717 | G.OnChange := Change; |
|
- | 1718 | B.OnChange := Change; |
|
- | 1719 | ||
- | 1720 | AktualisiereFarben(true); |
|
1558 | end; |
1721 | end; |
1559 | 1722 | ||
1560 | procedure TMainForm.DefColorClick(Sender: TObject); |
1723 | procedure TMainForm.DefColorClick(Sender: TObject); |
1561 | begin |
1724 | begin |
1562 | LadeFarbe(tpanel(sender).Color); |
1725 | LadeFarbe(tpanel(sender).Color); |
Line 1582... | Line 1745... | ||
1582 | 1745 | ||
1583 | R.OnChange := Change; |
1746 | R.OnChange := Change; |
1584 | G.OnChange := Change; |
1747 | G.OnChange := Change; |
1585 | B.OnChange := Change; |
1748 | B.OnChange := Change; |
1586 | 1749 | ||
1587 | // DelphiBox muss nicht mehr ignoriert werden, da wir nun "DelphiZustimmend" |
1750 | // DelphiBox muss nicht mehr ignoriert werden, da wir nun "CheckDelphiFarben" |
1588 | // verwenden und nichts mehr in der DelphiBox markieren |
1751 | // verwenden und nichts mehr in der DelphiBox markieren |
1589 | // AktualisiereFarben(true, 1); |
1752 | // AktualisiereFarben(true, 1); |
1590 | AktualisiereFarben(true); |
1753 | AktualisiereFarben(true); |
1591 | end; |
1754 | end; |
1592 | 1755 | ||
Line 1598... | Line 1761... | ||
1598 | procedure TMainForm.InvertBtnClick(Sender: TObject); |
1761 | procedure TMainForm.InvertBtnClick(Sender: TObject); |
1599 | begin |
1762 | begin |
1600 | TakeClick(KomplementaerColor); |
1763 | TakeClick(KomplementaerColor); |
1601 | end; |
1764 | end; |
1602 | 1765 | ||
1603 | procedure TMainForm.TabControlChange(Sender: TObject); |
- | |
1604 | begin |
- | |
1605 | panel1.Visible := tabcontrol.TabIndex = 0; |
- | |
1606 | panel2.Visible := tabcontrol.TabIndex = 1; |
- | |
1607 | panel3.Visible := tabcontrol.TabIndex = 2; |
- | |
1608 | panel4.Visible := tabcontrol.TabIndex = 3; |
- | |
1609 | end; |
- | |
1610 | - | ||
1611 | procedure TMainForm.WebsafeLblClick(Sender: TObject); |
1766 | procedure TMainForm.WebsafeLblClick(Sender: TObject); |
1612 | begin |
1767 | begin |
1613 | TakeClick(websafe1); |
1768 | TakeClick(websafe1); |
1614 | end; |
1769 | end; |
1615 | 1770 | ||
1616 | procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction); |
1771 | procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction); |
1617 | begin |
1772 | begin |
1618 | ReleaseDC(0, ScreenDC); |
1773 | ReleaseDC(0, ScreenDC); |
1619 | MemPix.Free; |
1774 | FreeAndNil(MemPix); |
1620 | BoxBuf.Free; |
1775 | FreeAndNil(BoxBuf); |
1621 | Box2Buf.Free; |
1776 | FreeAndNil(Box2Buf); |
1622 | end; |
1777 | end; |
1623 | 1778 | ||
1624 | procedure TMainForm.OutboxPaint(Sender: TObject); |
1779 | procedure TMainForm.OutboxPaint(Sender: TObject); |
1625 | begin |
1780 | begin |
1626 | DrawGrad(TPaintbox(Sender).Tag); |
1781 | DrawGrad(TPaintbox(Sender).Tag); |
Line 1633... | Line 1788... | ||
1633 | end; |
1788 | end; |
1634 | 1789 | ||
1635 | procedure TMainForm.PalClick(Sender: TObject); |
1790 | procedure TMainForm.PalClick(Sender: TObject); |
1636 | begin |
1791 | begin |
1637 | ZeigeRichtigePalette; |
1792 | ZeigeRichtigePalette; |
1638 | SchreibeInt('Palette', Pal.ItemIndex); |
1793 | WriteIntSetting('Palette', Pal.ItemIndex); |
1639 | end; |
1794 | end; |
1640 | 1795 | ||
1641 | procedure TMainForm.WinDialogClick(Sender: TObject); |
1796 | procedure TMainForm.WinDialogClick(Sender: TObject); |
1642 | begin |
1797 | begin |
1643 | WinColorDialog.Color := ColorPanel.Color; |
1798 | WinColorDialog.Color := ColorPanel.Color; |
Line 1645... | Line 1800... | ||
1645 | LadeFarbe(WinColorDialog.Color); |
1800 | LadeFarbe(WinColorDialog.Color); |
1646 | end; |
1801 | end; |
1647 | 1802 | ||
1648 | procedure TMainForm.WebcolorBoxClick(Sender: TObject); |
1803 | procedure TMainForm.WebcolorBoxClick(Sender: TObject); |
1649 | begin |
1804 | begin |
1650 | html.Text := webfarben[webcolorbox.ItemIndex]; |
1805 | html.Text := UpperCase(webfarben[webcolorbox.ItemIndex]); |
1651 | 1806 | ||
1652 | R.OnChange := nil; |
1807 | R.OnChange := nil; |
1653 | G.OnChange := nil; |
1808 | G.OnChange := nil; |
1654 | B.OnChange := nil; |
1809 | B.OnChange := nil; |
1655 | 1810 | ||
Line 1670... | Line 1825... | ||
1670 | 1825 | ||
1671 | AktualisiereWert(r); |
1826 | AktualisiereWert(r); |
1672 | AktualisiereWert(g); |
1827 | AktualisiereWert(g); |
1673 | AktualisiereWert(b); |
1828 | AktualisiereWert(b); |
1674 | 1829 | ||
1675 | // WebcolorBox muss nicht mehr ignoriert werden, da wir nun "WebZustimmend" |
1830 | // WebcolorBox muss nicht mehr ignoriert werden, da wir nun "CheckWebfarben" |
1676 | // verwenden und nichts mehr in der WebcolorBox markieren |
1831 | // verwenden und nichts mehr in der WebcolorBox markieren |
1677 | // AktualisiereFarben(true, 2); |
1832 | // AktualisiereFarben(true, 2); |
1678 | AktualisiereFarben(true); |
1833 | AktualisiereFarben(true); |
1679 | end; |
1834 | end; |
1680 | 1835 | ||
Line 1682... | Line 1837... | ||
1682 | var |
1837 | var |
1683 | i: integer; |
1838 | i: integer; |
1684 | begin |
1839 | begin |
1685 | WebZutreffend.Clear; |
1840 | WebZutreffend.Clear; |
1686 | if webcolorbox.itemindex <> -1 then |
1841 | if webcolorbox.itemindex <> -1 then |
1687 | if html.text <> webfarben[webcolorbox.itemindex] then |
1842 | if not SameText(html.text, webfarben[webcolorbox.itemindex]) then |
1688 | webcolorbox.itemindex := -1; |
1843 | webcolorbox.itemindex := -1; |
1689 | for i := 0 to high(webfarben) do |
1844 | for i := 0 to high(webfarben) do |
1690 | begin |
1845 | begin |
1691 | if html.text = webfarben[i] then |
1846 | if SameText(html.text, webfarben[i]) then |
1692 | WebZutreffend.Items.add(webcolorbox.Items.Strings[i]); // Geht nicht mit mehreren Übereinstimmungen: webcolorbox.ItemIndex := i; |
1847 | WebZutreffend.Items.add(webcolorbox.Items.Strings[i]); // Geht nicht mit mehreren Übereinstimmungen: webcolorbox.ItemIndex := i; |
1693 | end; |
1848 | end; |
1694 | end; |
1849 | end; |
1695 | 1850 | ||
1696 | procedure TMainForm.CheckDelphiFarben; |
1851 | procedure TMainForm.CheckDelphiFarben; |
Line 1720... | Line 1875... | ||
1720 | end; |
1875 | end; |
1721 | 1876 | ||
1722 | procedure TMainForm.LinkClick(Sender: TObject); |
1877 | procedure TMainForm.LinkClick(Sender: TObject); |
1723 | begin |
1878 | begin |
1724 | if sender = info7 then |
1879 | if sender = info7 then |
1725 | ShellExecute(Application.Handle, 'open', pchar('mailto:'+tlabel(sender).caption+'?subject=ColorManager 2.0'), nil, nil, SW_SHOW); |
1880 | ShellExecute(Application.Handle, 'open', pchar('mailto:'+tlabel(sender).caption+'?subject=ColorManager 2.1'), nil, nil, SW_SHOW); |
1726 | if (sender = Info9) or (sender = Info13) then |
1881 | if (sender = Info9) or (sender = Info13) then |
1727 | ShellExecute(Application.Handle, 'open', pchar(Info9.caption), nil, nil, SW_SHOW); |
1882 | ShellExecute(Application.Handle, 'open', pchar(Info9.caption), nil, nil, SW_SHOW); |
1728 | if (sender = Info11) then |
- | |
1729 | ShellExecute(Application.Handle, 'open', 'http://www.icq.com/people/about_me.php?uin=160106169', nil, nil, SW_SHOW); |
- | |
1730 | if (sender = Info14) then |
1883 | if (sender = Info14) then |
1731 | ShellExecute(Application.Handle, 'open', 'http://www.viathinksoft.de/', nil, nil, SW_SHOW); |
1884 | ShellExecute(Application.Handle, 'open', 'https://www.viathinksoft.de/', nil, nil, SW_SHOW); |
1732 | if (sender = Info15) then |
1885 | if (sender = Info15) then |
1733 | ShellExecute(Application.Handle, 'open', 'http://www.viathinksoft.de/index.php?page=projektanzeige&seite=projekt-20', nil, nil, SW_SHOW); |
1886 | ShellExecute(Application.Handle, 'open', 'https://www.viathinksoft.de/projects/colormanager', nil, nil, SW_SHOW); |
1734 | end; |
1887 | end; |
1735 | 1888 | ||
1736 | var |
1889 | var |
1737 | ColorTmrDurchlauf: integer; |
1890 | ColorTmrDurchlauf: integer; |
1738 | 1891 | ||
Line 1743... | Line 1896... | ||
1743 | ColorTmrDurchlauf := ColorTmrDurchlauf - 360; |
1896 | ColorTmrDurchlauf := ColorTmrDurchlauf - 360; |
1744 | if panel4.Visible then |
1897 | if panel4.Visible then |
1745 | Info1.Font.Color := hsvtorgb(ColorTmrDurchlauf, 255, 200); |
1898 | Info1.Font.Color := hsvtorgb(ColorTmrDurchlauf, 255, 200); |
1746 | end; |
1899 | end; |
1747 | 1900 | ||
1748 | procedure TMainForm.SchreibeInt(name: string; wert: integer); |
1901 | procedure TMainForm.WriteIntSetting(name: string; wert: integer); |
1749 | var |
1902 | var |
1750 | reg: TRegistry; |
1903 | reg: TRegistry; |
1751 | begin |
1904 | begin |
1752 | reg := tregistry.Create; |
1905 | reg := tregistry.Create; |
1753 | try |
1906 | try |
Line 1758... | Line 1911... | ||
1758 | finally |
1911 | finally |
1759 | Reg.Free; |
1912 | Reg.Free; |
1760 | end; |
1913 | end; |
1761 | end; |
1914 | end; |
1762 | 1915 | ||
1763 | function TMainForm.LeseInt(name: string): integer; |
1916 | function TMainForm.ReadIntSetting(name: string): integer; |
1764 | var |
1917 | var |
1765 | reg: TRegistry; |
1918 | reg: TRegistry; |
1766 | begin |
1919 | begin |
1767 | result := 0; |
1920 | result := 0; |
1768 | reg := tregistry.Create; |
1921 | reg := tregistry.Create; |
Line 1777... | Line 1930... | ||
1777 | end; |
1930 | end; |
1778 | end; |
1931 | end; |
1779 | 1932 | ||
1780 | procedure TMainForm.SaveEditChange(Sender: TObject); |
1933 | procedure TMainForm.SaveEditChange(Sender: TObject); |
1781 | begin |
1934 | begin |
1782 | SchreibeInt(tedit(sender).GetNamePath, strtoint(tedit(sender).text)); |
1935 | WriteIntSetting(tedit(sender).GetNamePath, strtoint(tedit(sender).text)); |
1783 | end; |
1936 | end; |
1784 | 1937 | ||
1785 | procedure TMainForm.ColorClick(Sender: TObject; Button: TMouseButton; |
1938 | procedure TMainForm.ColorClick(Sender: TObject; Button: TMouseButton; |
1786 | Shift: TShiftState; X, Y: Integer); |
1939 | Shift: TShiftState; X, Y: Integer); |
1787 | var |
1940 | var |