밝기(bright), 대비(contrast), 감마(gamma), 색농도(Saturation) 조절
밝기(bright), 대비(contrast), 감마(gamma), 색농도(Saturation) 조절 Amount : 강도 0~255Saturation : 색농도 // contrastfunction IntToByte(i: Integer): Byte;beginif i > 255 then Result := 255elseif i elseResult := i;end; procedure Contrast(var clip: tbitmap; Amount: Integer);varp0: pbytearray;rg, gg, bg, r, g, b, x, y, m: Integer;beginfor y := 0 to clip.Height - 1 dobeginp0 := clip.scanline[y];m := 0;for x := 0..
2024. 6. 19.
TImage에 색상바 그리기
TImage에 색상바 그리기 unit Unit1; interface usesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, ExtCtrls, StdCtrls; typeTMain = class(TForm)HueImg: TImage;ColImg: TImage;Label1: TLabel;FGColorPanel: TPanel;BGColorPanel: TPanel;procedure FormCreate(Sender: TObject);procedure FormResize(Sender: TObject);procedure HueImgMouseDown(Sender: TObject; Button: TMouseBut..
2024. 6. 3.
키보드 키입력 막기 - 화면 캡처 방지(Blocking Screen Capture)
키보드 키입력 막기 - 화면 캡처 방지(Blocking Screen Capture) unit Unit1; interface usesWinapi.Windows, Winapi.Messages, System.SysUtils,System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms,Vcl.Dialogs, Vcl.StdCtrls, ClipBrd; typeTForm1 = class(TForm)Button1: TButton;procedure FormCreate(Sender: TObject);private{ Private declarations }procedure ApplicationIdle(Sender: TObject; var Done: B..
2024. 5. 29.
DBGrid 동일값 셀병합(컬럼머지)
DBGrid 동일값 셀병합 개발을 하다보면, DBGrid 콤포넌트의 기능이 약해서,제3자 Grid 콤포넌트를 많이 사용하게 된다. 그런데, 그 덩치큰 삼자 Grid 콤포넌트의 전체 기능이 필요한 것이 아니고,한두가지 기능만 필요한 경우가 많다.더우기, 퀀텀그리드 같은 경우는 전체 레코드를 메모리에 로딩하기 때문에,필요한 한두가지 기능때문에 쓰기는 참 사치스럽기까지 하다. 속도향상을 위해 메모리테이블을 써야 되는 경우도 있는데,퀀텀에서 또 내부적으로 메모리테이블을 사용하므로이런 경우 이중으로 메모리를 낭비하는 셈이 된다. 물론, 요즘 일반적 컴 사양에서 별무리가 아니라 하더라도,한두가지 기능때문에 이런 식으로 퀀텀을 쓰기에는소 잡는 칼로 닭 잡는 수가 될 수도 있다는 얘기다. 이 예제는, 인접하는 ..
2024. 5. 27.
내 실행파일 정보보기
내 실행파일 정보보기 procedure TForm1.Button1Click(Sender: TObject); const InfoNum = 10; InfoStr: array[1..InfoNum] of string = ('CompanyName', 'FileDescription', 'FileVersion', 'InternalName', 'LegalCopyright', 'LegalTradeMarks', 'OriginalFileName', 'ProductName', 'ProductVersion', 'Comments'); var S: string; n, Len, i: DWORD; Buf: PChar; Value: PChar; begin S := Application.ExeName; n := GetFileVersion..
2024. 5. 23.
주민등록번호 성인인증
주민등록번호 성인인증 function IsUserAudult(jumin : string):boolean;varjuminleng, lastnum : integer;yy, mm, dd : string;nyy, nmm, ndd : integer;iyy, imm, idd : integer;ryy, rmm : integer;isAudult : boolean;begin result := false; nyy := strtoint(Formatdatetime('YYYY', now));nmm := strtoint(Formatdatetime('MM', now));ndd := strtoint(Formatdatetime('DD', now)); juminleng := length(jumin); if juminleng exit..
2024. 5. 14.