2013-11-24 6 views
1

한 이미지에 캔버스를 병합하려면 어떻게해야합니까? 병합 이미지를 저장하기 때문에이 작업이 필요합니다. 그래서 지금은 하나에 두 이미지를 병합하고 내 저장 기능을 사용하려면두 이미지를 하나로 병합하는 방법은 무엇입니까?

WriteableBitmap wb = new WriteableBitmap(50, 50); 
wb.LoadJpeg(stream); 
Image t = new Image(); 
t.Source = wb; 
Canvas.SetLeft(t, 130); 
Canvas.SetTop(t, 130); 
canvas1.Children.Add(t); 

:

여기 내 코드입니다.

답변

1

사용할 수 Graphics.FromImage()와 Graphics.DrawImage()

http://msdn.microsoft.com/en-us/library/system.drawing.graphics.fromimage%28v=vs.110%29.aspx

http://msdn.microsoft.com/en-us/library/42807xh1%28v=vs.110%29.aspx

당신은 "병합"에 의해 의미합니까 어떤 세부 사항을 지정하지 않은
// Pseudo ... 
using (Graphics gfx = Graphics.FromImage(image1)) 
{ 
    gfx.DrawImage(image2, new Point(0, 0)); 
} 

// image1 is now merged with image 2 
+0

일부 정보는 읽었지만 System.Drawing 네임 스페이스를 추가 할 수 없습니까? Windows Phone – user2962457

+0

Windows Phone은 그런 그래픽을 지원하지 않습니다. 그래픽 (g)은 Windows Form입니다. –

-1

. 이미지를 서로 위에 겹치거나 (오버레이 모드에서 겹쳐서 일반을 ​​추가) 이미지를 나란히 병합하여 큰 이미지로 만듭니다 (카메라로 3 번 촬영 ​​한 다음 하나의 긴 사진으로 결합)? 어떤 방법 으로든 System.Drawing 네임 스페이스를 살펴볼 수 있습니다.

후자를 가정하십시오. 다음과 같이하십시오 :

Image a = ...; 
Image b = ...; 
//assuming equal height, and I forget whether the ctor is width first or height first 
Image c = new Image(a.Width + b.Width, a.Height); 
Graphics g = Graphics.FromImage(c); 
g.DrawImage(...); //a lot of overloads, better check out the documentation 
SaveImage(c); //depending on how you want to save it 
g.Dispose(); 
+0

System.Drawing 네임 스페이스를 추가 할 수 없습니다. 무슨 일이 일어나고 있는지 아십니까? – user2962457

0

WriteableBitmapEx과 같은 타사 라이브러리가 필요합니다. Blit 메소드를보십시오.

관련 문제