2012-05-24 2 views
2

WPF부터 시작하겠습니다. Winforms에 대해 잘 알고 있습니다.이미지에 직접 그리기

내가 원하는 것은 이미지 타일을 많이 가져 와서 함께 꿰매어 이미지 컨트롤에 표시 할 큰 이미지를 만듭니다.

윈폼에서 나는이 컴파일하거나하지 않는다면 내가 테스트하고 있지 않습니다

Bitmap map = new Bitmap(800,800); 
using (Graphics g=Graphics.FromImage(map)) 
{ 

    for (int x = 0; x<8; x++) 
    for (int y = 0; y<8; y++) 
    { 
     g.DrawImage(bmp[x,y],x*100,y*100); 
    } 
} 

pictureBox1.Image=map; 

을 할 것입니다,하지만 난 당신이 내가 요구하고있는 무슨의 사진을 얻을 수 있기를 바랍니다.

저는이 작업을 수행하는 기본적인 방법을 찾고 있습니다. 따라서이 작업을 수행하고 알아낼 수 있습니다.

+0

먼저 생각 BitmapSource는로 비트 맵 변환이 사용 .media.imaging.writeablebitmap.aspx), [Image] (http://msdn.microsoft.com/en-us/library/system.windows.controls.image.aspx) 및 레이아웃 [Canvas] (http : //msdn.microsoft.com/en-us/library/system.windows.controls.canvas.aspx). – dowhilefor

+0

당신이 제안하는 개념은 그것에 대해 올바른 방법입니다. – Doomsknight

+0

WPF에 비트 맵이 없기 때문에 제가 제안한 개념은 전혀 작동하지 않습니다 ... 그래서 내가 묻는 이유입니다. –

답변

0

참조 질문에 설명 된대로 정확하게 비트 맵에 System.Drawing 네임 스페이스

립니다. 체크 아웃 [WriteableBitmap] (http://msdn.microsoft.com/en-us/library/system.windows :

Bitmap map = new Bitmap(800,800); 
using (Graphics g=Graphics.FromImage(map)) 
{ 

    for (int x = 0; x<8; x++) 
    for (int y = 0; y<8; y++) 
    { 
     g.DrawImage(bmp[x,y],x*100,y*100); 
    } 
} 
Image.Source=ConvertBitmap(map); 

그런

public static BitmapSource ConvertBitmap(System.Drawing.Bitmap source) 
    { 
     return System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(
         source.GetHbitmap(), 
         IntPtr.Zero, 
         Int32Rect.Empty, 
         System.Windows.Media.Imaging.BitmapSizeOptions.FromEmptyOptions()); 
    } 
관련 문제