BLOG main image
전체 (276)
[Computer] (42)
[Programming] (62)
[DBMS] (26)
[Operating System] (21)
[Study English] (8)
[For money] (28)
[Interest] (89)
«   2009/11   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          
76761 Visitors up to today!
Today 51 hit, Yesterday 73 hit
'그래픽'에 해당되는 글 2건
[폭주기관차, 2008/07/02 14:35, [Programming]/JavaScript]
홈페이지를 보면 두개의 이미지가 부드럽게 바뀌는 것을 자주 볼 게 된다.

엄청 어려운 기술로만 생각을 했는데 자바스크립트에서 단 몇 줄만 넣으면
부드럽게 바뀌는 이미지가 만들어진다는 것에 난 당혹감을 감추지 못하였다.....;; 헐;;

소스코드는 아래와 같다.

<html>
<head>
<script>
function startTrans(){
    faceoff.filters.blendTrans.Apply();
    faceoff.src="face_2.gif"
    faceoff.filters.blendTrans.play();
}
</script>
</head>

<body onLoad=startTrans()>
잠시 기다리시면...<br>
효과를 보실수 있습니다. 잠시만 기다려 주세요.<br>
<img src="face_1.gif" id=faceoff style="filter:blendTrans(duration=10)">
</body>
</html>


첨부된 아래의 예제 파일을 받고 실행 해보라... 놀랍다.

script183.zip

스무스 이미지 변경 예제



간단하게 소수 분석을 하자면 IMG 태그에서 style옵션에 duration=10은 10초동안
두개의 이미지가 변경되는 것을 의미하는 것이다.

    faceoff.filters.blendTrans.Apply();

    
은 현재 faceoff라는 IMG에 있는 이미지를 고정시키고 있다가

    faceoff.src="face_2.gif"

    
이미지를 face_2.gif로 변경하고

    faceoff.filters.blendTrans.play();

    
이제 Apply함수 수행했을때 이미지랑 최근에 바뀐 이미지로 변환하는 것을
시작하라(play)는 명령이다.    

이런 좋은 소스를 무료로 제공해주신 분께 최소한의 예의로 아래에 출처와
소스코드의 변수명을 변경하지 않고 그대로 올렸습니다~

출처 : http://cbkim.wkhc.ac.kr/
        며루치님의 블로그글

Trackback Address :: http://kongmks.cafe24.com/trackback/295
Name
Password
Homepage
Secret
[폭주기관차, 2007/09/07 16:33, [Programming]/Visual C++ API/MFC]
먼저 ->나 .를 눌렀을 때 하부 메소드, 프로퍼티가 나오지 않은 것은
GDI+가 네임스페이스로 정의되어 있기 때문입니다.

그럼, GDI+의 기본적인 사용법을 차례로 알려드리겠습니다.

1. 필요 헤더파일
#include <gdiplus.h>


2. 필요 라이브러리 파일
#pragma comment( lib, "gdiplus.lib" )


3. 네임스페이스 지정
using namespace Gdiplus;


4. 프로그램 시작과 종료시 넣어줘야 하는 코드.
  GDI+는 사용하기 전에 Startup을 해줘야 하고, 종료전에 Shutdown을 해줘야 합니다.
  예를 들면 다음과 같은 방식이겠죠.

// GDI+ 스타트업
 int APIENTRY _tWinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR    lpCmdLine,
                     int       nCmdShow)
{
    GdiplusStartupInput gsi;
    ULONG_PTR uToken;
    GdiplusStartup( &uToken, &gsi, NULL );
          .
          .
          .
          .
          .
          .
          .
    GdiplusShutdown( uToken );
    return static_cast< int >( msg.wParam );
}


5. 간단한 사용방법
  그리고 그래픽스개체( Graphics )는 다음과 같이 사용합니다.
  이미지 로드를 어떻게 하는지 그걸로 해보죠.

HDC hdc = ::GetDC( hWnd );

// 생성자에 디바이스 컨텍스트를 입력합니다.
// 지금부터 그래픽스 개체를 사용할 수 있게 됩니다.
Graphics* pG = new Graphics( hdc );

// 이미지 개체를 생성합니다. 생성자에 이미지의 경로를 입력합니다.
Image* pIMG = new Image( L"C:\\imgx.jpg" );

// 0, 0에 이미지를 그립니다. 0, 0에서 시작하여 이미지 크기대로 그려집니다.
// 오버로딩되어있어 여러옵션으로 그릴 수 있습니다.
pG->DrawImage( pIMG, 0, 0 );

// 소멸시킵니다.
delete pIMG;
delete pG;

// 디바이스 컨텍스트 핸들을 돌려줍니다.
::ReleaseDC( hdc );


GDI보다 100배는 쉬워졌죠?

그리고 BMP뿐아니라 JPG, GIF등등의 파일도 그릴 수 있습니다.

추가로 GDI +  SDK를 받는 사이트도 적었습니다.(추가 2007년 10월 2일)
GDI Plus DLL 파일 받으러 가기
GDI Plus 라이브러리 받으러 가기

예전에 데브피아에서 보았던 글인데, 당시엔 블로그라는게 없어서
TEXT파일로만 저장해두었던 내용입니다.
당시 GDI PLUS를 사용하려고 많은 예제를 봤지만 제대로 원리를 몰랐었는데
이 글을 보고 GDI PLUS 사용법을 한눈에 알아버렸습니다.
이 글을 작성해주신 분께 감사의 말씀을 드리고, 원문글을 찾지 못해
링크를 걸지 못하였습니다.
제가 인터넷을 통해 배운만큼 배운 정보는 모든 사람에게 공유하겠습니다.
Trackback Address :: http://kongmks.cafe24.com/trackback/252
Name
Password
Homepage
Secret
*1