Q&A

  • [API] Graphi Image 질문^^
안녕하세요 델전문가님...^^



1.

PaintBox에서 FileName을 지정해서 가져온

FileName을 가지고 Image에 그려주기. (그림 파일이면)



요약하면 PaintBox에 API 함수로 파일 이름을 뿌려주고 그 다음에 이름을 가져 옵니다.

그 이름을 가지고 이미지 박스에 그려주어야 하는 데...

제 생각으로는 그냥 파일 Open한 다음 읽어서 뿌려주면 될 것 같은데...

어떻게 하나요?





// to load the Bitmap on memory

// 메모리에 비트맵을 올려야 하는데...

// 파일 이름을 써서 어떻게 가져 오나요????

// Loadbitmap가지고도 되나요?



//hPaintDC := GetDC(ptbFile.Canvas.Handle);

hMemDC := CreateCompatibleDC(ptbFile.Canvas.Handle);



// to replace the paper of MemoryDC

hOldBmp := SelectObject(hMemDC, hNewBmp);



// to get the size of bmp

// GetObject(hNewBmp,????)



// if you've got the Event, to draw a image in FreeView

BitBlt(ptbFile.Canvas.Handle,0,0,Bmp.bmWidth,Bmp.bmHeight,hMemDC,0,0,SRCCOPY);



SelectObject(hMemDC, hOldBmp);



DeleteDC(hMemDC);



또...^^

2.

그려줄때 Image를 축소 시켜서 가져오려면 어떻게 해야 하나요?

이미지 박스에 맞추어서

3.

TGA, PCX, BMP을 지원해야 하는데... 가능하나요?



답변 부탁드립니다.

- 델 초보 RyanYun -



2  COMMENTS
  • Profile
    김형동 2000.02.18 20:29
    bitmap := TBitmap.Create;

    bitmap.Width := 640;

    bitmap.Height:= 480;

    bitmap.LoadFromFile('HOME.BMP');



    procedure Tform1.PaintBox1Paint(sender: TObject);

    begin

    PaintBox1.Canvas.Draw(0, 0, bitmap);

    end;









  • Profile
    RyanYun 1999.12.17 20:04
    API함수를 직접 사용하지 않고...

    그리는 것은 Panel을 붙여서 해결(?) 했습니다.

    Panel이 4개가 필요하지요... 음..

    pnlScrollUp, pnlScrollDown, pnlScrollBar, pnlThumb로...

    Button을 사용 못한 이유는 Align속성이 없어서.... 근데.. Panel에 Image는 어떻게 올리는 지... 모르겠군요...



    그 다음에 Coding 하고 있지요..

    음... 별 내용도 아닌데 읽어 주셔서 감사합니다.

    - 델초보 RyanYun -