이미지(리소스 파일)를 별도의 DLL로 저장

2393 단어 dll
독립된 DLL을 사용하여 그림을 저장하면 우리가 사용할 그림 파일을 모두 DLL에 넣을 수 있다. 그러면 프로젝트에 그렇게 많은 그림 파일만 없을 것이다.1. 해결 방안에 새로운class공정PicResource를 추가하고 그림 폴더 skin을 프로젝트 디렉터리에 복사하여 skin을 프로젝트에 포함시킨다.
2. 방금 새로 만든 프로젝트에서 skin 폴더 아래의 모든 그림을 선택하고property에서 Build Action 속성을 Embedded Resource로 변경합니다.
3. 프로젝트를 컴파일하면 PicResource가 생성됩니다.dll
4. 솔루션에 테스트용 윈도우즈 응용 프로그램 프로젝트 winappDemo1을 추가합니다.아까 받은 Pic Resource를dll을 winappDemo1\bin\Debug에 복사하기;5. 테스트 프로젝트의 form에 Button의picturebox 자원 경로를 추가합니다: ...(<네임스페이스>.<폴더>.<그림이름>.<접미사>) 코드:private void button1Click(object sender, EventArgs e)
{
   Assembly myAssembly = Assembly.LoadFrom("PicResource.dll");
  Stream myStream = myAssembly.GetManifestResourceStream("PicResource.skin.right.bmp");
  Bitmap bmp = new Bitmap( myStream ); pictureBox1.Image = bmp;
}
만약 button1을 누르면 픽처박스에서 그림을 볼 수 있다. OK, 성공했다.
 
 
 
프로젝트에 놓으면 ->Properties.Resources.resx 파일은 다음과 같습니다.
C# code

    
      
Image img = (Image) .Properties.Resources. ;

대외적으로 사용할 경우 Resources 가 사용됩니다.resx 모든 [자원]을public로 정의
cs 파일에 *.resx 파일은 다음과 같습니다.
C# code

    
      
Image img = ((Image)( new ComponentResourceManager( typeof ( )).GetObject( " . " )));

좋은 웹페이지 즐겨찾기