Q&A

  • JPG 이미지가 께져요 ㅠ_ㅠ
jpg 이미지를 줄이는대요 포토샵에서 줄이면 거이 안깨지고 줄이 지잔아요
강좌에서 본선보간법인가 그거로 했는대 이미지가 조금 깨지내요
이거 포토샵처럼 안깨지게 할수 없을까요?  
참 그리고 JPG 이미지 크기는 그대로인대 바이트수를 줄이는 프로그램도 있던대 이것도 델파이에서 가능한지 궁금하내요
2  COMMENTS
  • Profile
    프리맨 2003.01.08 19:53

    용량 줄이시려면 압축률을 조정하시면 되구요...
    보간법으로 줄이실때는 가장 크기가 비슷한(보다 큰) 썸네일을 이용해서 줄이시면 안깨질겁니다. jpeg의 썸네일 읽기 항목을 참조하세요.
  • Profile
    (_^^)~U 2003.01.08 20:18
    답변 감사 합니다.
    밑에 소스가 델마당에서 가져온 소스거든요
    제가 이미지 처음 다뤄봐서 그러거든요
    님이 하신말 어떤 부분인지 이해가 안가내요
    그리고 압축율은또 어디 있는지
    귀찬으시더라도 답변주심 두고두고 감사 하겠습니다 -0-
    procedure TMain.DrawMap; // 이미지를 그려주는 함수입니다.
    var
       csx, csy: Integer; // 원본 이미지 중심좌표
       cdx, cdy: Integer; // 결과 이미지 중심좌표
       x, y: Integer;  // 결과 이미지의 픽셀좌표
       sx, sy: Single; // 원본 이미지의 픽셀좌표 (실수)
       sx2, sy2: Single; // 회전변환에서 쓸 임시값
       isx, isy: Integer; // 원본 이미지의 픽셀좌표 (정수)
       _x, _y: Single; // sx, sy 의 정수부분을 떼어낸 값...
       xx, yy: Integer; // 실제 계산을 위한 변수들...
       ScaleInvValue: Single; // 확대비율 값의 역수
       RotSinVal, RotCosVal: Single; // 회전각에 대한 삼각비값
       SrcP, DstP: PDWORD; // 픽셀의 포인터
       BoganVal: array[0..1, 0..1]of Single; // 주변 네 점에 관한 보간비율
       BoganR, BoganG, BoganB: Single; // 선형보간에 의해 만들어질 RGB 색상값 (실수)
       iBoganR, iBoganG, iBoganB: Byte; // 선형보간에 의해 만들어질 RGB 색상값 (정수)
       i, j, iMax, iMin, jMax, jMin: Integer; // 기타...
    begin
       // 결과이미지를 검은색으로 채우고...
       ClearImage2;

       // 확대비율의 역수를 구하고...
       ScaleInvValue:=1/ScaleValue;
       // 삼각비 값을 미리 구해놓고...
       RotSinVal:=Sin(RotateValue);
       RotCosVal:=Cos(RotateValue);

       // 원본과 결과 이미지의 중심위치를 구하고...
       csx:=W1 div 2; csy:=H1 div 2;
       cdx:=W2 div 2; cdy:=H2 div 2;

       for x:=0 to W2-1 do for y:=0 to H2-1 do
       begin
         // 중심위치가 0 이 되도록 하고...
         xx:=x-cdX;
         yy:=y-cdY;

         // 확대...
         sx:=xx*ScaleInvValue;
         sy:=yy*ScaleInvValue;

         // 회전...
         sx2:=sx;
         sy2:=sy;
         sx:=sx2*RotCosVal-sy2*RotSinVal;
         sy:=sx2*RotSinVal+sy2*RotCosVal;

         // 원본 픽셀의 좌표(실수)를 반올림하여 가장 근접한 점을 찾는다.
         isx:=Round(sx);
         isy:=Round(sy);

         // 중심점으로 옮기고...
         Inc(isx, csx);
         Inc(isy, csy);

         // 원본 이미지 밖으로 나간 점이 아니면 값을 복사한다.
         if (isx>=0)and(isx<W1)and(isy>=0)and(isy<H1) then
         begin
           SrcP:=Pointer(DWORD(P1)+isy*LineSize1+isx*BPP);
           DstP:=Pointer(DWORD(P2)+  y*LineSize2+  x*BPP);
           DstP^:=SrcP^;
         end;
       end;

       Image2.Repaint;
    end;



    • 강재규
    • 2003.01.09 03:11
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 정종필
      2003.01.09 20:29
      저도 델파이 잘 하진 못하지만.. 제 짧은 소견으로는.. 에러메세지에 나온 그대도.. 확보 해 놓지 않은 (...
    • 김용덕
      2003.01.09 06:12
      안녕하세요. 제가보기에는 좀 문제가 있어 보이는군요. 핸들값이 일정치 않게 바뀐다고 하셨는데요. 제...
    • JJH
    • 2003.01.09 01:37
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 임형호
      2003.01.09 02:53
      OpenDialog.Files.Count
    • 세라핌
    • 2003.01.08 21:31
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 포맷
    • 2003.01.08 20:36
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2003.01.08 22:24
      안녕하세여~ 구창민입니다. 1. Windows.pas 에 선언되어 있습니다. 2. WaitFor 함수의 Result 겠군여...
    • 포맷
      2003.01.08 23:01
      1.  windows.pas에  INFINITE = DWORD($FFFFFFFF);     { Infini...
    • 김만구
    • 2003.01.08 20:34
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2003.01.08 21:26
      안녕하세요~ 구창민입니다. SetValue 프로시져에서 FloatToStr 로 치환해서 대입해보세요. Self.Text...
    • 김만구
      2003.01.09 02:48
      정말 감사합니다...^^
    • shem
    • 2003.01.08 20:06
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2003.01.08 21:07
      안녕하세용 구창민입니다. 코드 어디에선가 무한루프를 돌지 않는지 확인해보세요. F7, F8 을 이용해...
    • 김수경
      2003.01.08 20:53
      뾰족한 답이 없는 질문이네염 ^^; stack overflow 에러는 말 그대로 Stack이 모자란 경우입니다. 일반...
    • Galaxy
    • 2003.01.08 20:02
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2003.01.08 20:36
      안녕하세요. 최용일입니다. 비교하실때 Checkbox1.Checked를 비교해보시면 되겠네요... if (FlatEdit...
    • 김수경
      2003.01.08 20:40
      CheckBox1MouseUp 즉, OnMouseUp Event에서 처리하는 것도 한 방법일 것 같습니다. 참고하시구여~
    • Galaxy
      2003.01.08 21:08
      답변에 너무너무 감사 드립니다. 한가지 더 질문이 있어서 이렇게 질문을 합니다. 이럴 경우에는 어떻...
    • 최용일
      2003.01.08 22:03
      안녕하세요. 최용일입니다. 아까와 같은 경우입니다. DateEdit1.Clear; 를 하시면 DateEdit1가 변경...
    • Galaxy
      2003.01.08 23:42
    • (_^^)~U
    • 2003.01.08 19:21
    • 2 COMMENTS
    • /
    • 1 LIKES
    • 프리맨
      2003.01.08 19:53
      용량 줄이시려면 압축률을 조정하시면 되구요... 보간법으로 줄이실때는 가장 크기가 비슷한(보다 큰) ...
    • (_^^)~U
      2003.01.08 20:18
      답변 감사 합니다. 밑에 소스가 델마당에서 가져온 소스거든요 제가 이미지 처음 다뤄봐서 그러거든요 ...
    • 최은하
    • 2003.01.08 18:58
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2003.01.08 20:41
      안녕하세요. 최용일입니다. List := IdTCPServer1.Threads.LockList;    위 부분이 주석...
    • 최은하
      2003.01.09 20:08
           이제서야 뭔가가........... 정말 고맙습니다.   또.. 질문한다는...
    • 전원이
    • 2003.01.08 18:15
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2003.01.08 20:44
      안녕하세요. 최용일입니다. 말 그대로입니다. 양쪽 컴퓨터의 FlatStyle컴포넌트가 다르나 보네요... ...
    • 전원이
      2003.01.08 21:04
      양쪽 컴포넌트는 똑같거든요... 그쪽 컴에 있는거 복사해서 설치했고... 또한 인터넷에서 받아서도 설치...
    • 최용일
      2003.01.08 21:58
      안녕하세요. 최용일입니다. 델파이의 에러메세지는 믿을만 합니다. 터보C와는 달리 정확합니다... RP...
    • 최호석
    • 2003.01.08 09:12
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 박장용
      2003.01.08 20:06
      win2000이나 xp에서 개발된 프로그램을 98에서 실행할 경우 한글폰트에 문제가 발생합니다. 영문 Charset...
    • 임청택
    • 2003.01.08 07:34
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 미리내
    • 2003.01.08 03:44
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 고재남
      2003.01.08 19:31
      @^^; 저도 초보라 답변이 될런지... qrshape component를 detail band에 놓으시고 qrshape property...
    • 넘버3
      2003.01.08 03:50
      다음 함수를 이용하세요.그럼 즐프~~~~ function ExtractFileDir(const FileName: string): string; ...
    • KDDG_ZZOM
      2003.01.08 03:44
      예전에 어떤분이 알려주신건데 성함을 잘모르겠네요...^^ 즐프하세요... unit Unit1; interface ...
    • 하병준
    • 2003.01.08 03:06
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 채경수
    • 2003.01.08 02:32
    • 0 COMMENTS
    • /
    • 0 LIKES