2011-12-29 3 views
0

내 목표는 웹 페이지의 섹션에 큰 사각형 이미지를 표시하는 것입니다.이 사각형은 다른 작은 이미지를 배경으로하여 위에 놓을 것입니다. 작은 직사각형 이미지는 데이터베이스 항목을 기반으로 동적으로 선택됩니다. 큰 기본 직사각형 이미지를 그린 자바 애플릿을 만든 다음 기본 이미지 위에 작은 이미지를 그렸습니다. 이것은 아주 잘 작동했습니다.오버레이 이미지를 기존 이미지 위에 올리기 (웹)

Microsoft Visual Web Developer 2010에서 C#을 사용하여 기능을 다시 만들려고합니다. 아직 작동하지 않지만 웹 기반 솔루션을 아직 찾지 못한 system.drawing이 기능적으로 발견되었습니다. 어떤 도움을 주시면 감사하겠습니다.

+1

가장 좋은 방법은 javascript 또는 silverlight를 사용하는 것입니다. –

답변

6

정확하게 이해하면 다른 이미지 위에 작은 이미지를 오버레이하고 싶습니다. 결국에는 하나의 이미지로 끝납니다. 이것은 C#으로 쉽게 할 수 있습니다 :

string image1 = @"c:\image.jpg"; 
string image2 = @"c:\image2.jpg"; 

System.Drawing.Image canvas = Bitmap.FromFile(image1); 
Graphics gra = Graphics.FromImage(canvas); 
Bitmap smallImg = new Bitmap(image2); 
gra.DrawImage(smallImg, new Point(70, 70)); 
canvas.Save(@"c:\newimage.jpg", System.Drawing.Imaging.ImageFormat.Jpeg); 
0

여기 내 두 센트 ... .NET 2.0 및 3.0 절 도와 줬어요 또 다른 것은 명시 적으로 이미지를 삭제하고, 그래픽 및 비트 맵 객체는 당신이 특별히 때, 완료 후 동일한 루틴 내에서 이미지 소스 (image1, image2smallImg) 중 하나에 액세스 할 수 있습니다.

이러한 개체를 삭제하면 즉시 파일 잠금이 해제됩니다. 가비지 컬렉터가 이미지 조작을위한 별도의 서브 루틴을 만들었더라도 원하는 시간에 가비지 컬렉터가 필자에게 필히이를 정리하지는 않는다는 것을 경험했습니다.

관련 문제