2011-09-03 1 views
0

이 항목은 스택 오버플로에서 여러 번 다루어졌지만 여전히 검색 결과가 나에게 알려지지 않았습니다.VB (5 또는 .NET)에 대한 기본 및 쉬운 이미지 조작 라이브러리

간단하고 사용하기 쉬운 기본 이미지 편집 라이브러리를 찾고 있습니다. 내가해야 할 일은 jpeg와 png 파일의 크기를 확인하고 90 °의 배수로 회전시키는 것입니다.

VB.NET 또는 선호하는 VB5에서 내 앱을 개발할 수 있으며 다른 라이브러리를 사용하지 않습니다.

무료 이미지 라이브러리를 기반으로하는 고급 이미지 라이브러리를 사용해 보았지만 DLL을 올바르게 등록 할 수 없어 응용 프로그램을 배포 할 때도 문제가 발생할 수 있습니다.

더 간단한 것이 있습니까? 무료가 아니라면 비용이 합리적인 한 괜찮습니다.

당신의 도움을 주셔서 감사합니다 내 사과 대답은 이미 다른 곳이었고, 내가 당신이 외부 라이브러리없이 회전을 할 수있는 .NET에서

답변

1

를 볼 수없는 경우; .NET에서 코드를 작성할 수 있다면 .NET Framework 프리미티브 (예 : C#)를 사용하십시오.

public static Bitmap RotateImage(Image image, PointF offset, float angle) 
{ 
int R1, R2; 
R1 = R2 = 0; 
if (image.Width > image.Height) 
     R2 = image.Width - image.Height; 
else 
     R1 = image.Height-image.Width; 

if (image == null) 
     throw new ArgumentNullException("image"); 

//create a new empty bitmap to hold rotated image 
Bitmap rotatedBmp = new Bitmap(image.Width +R1+40, image.Height+R2+40); 
rotatedBmp.SetResolution(image.HorizontalResolution, image.VerticalResolution); 

//make a graphics object from the empty bitmap 
Graphics g = Graphics.FromImage(rotatedBmp); 

//Put the rotation point in the center of the image 
g.TranslateTransform(offset.X + R1/2+20, offset.Y + R2/2+20); 

//rotate the image 
g.RotateTransform(angle); 

//move the image back 
g.TranslateTransform(-offset.X - R1/2-20, -offset.Y - R2/2-20); 

//draw passed in image onto graphics object 
g.DrawImage(image, new PointF(R1/2+20, R2/2+20)); 

return rotatedBmp; 
} 
+0

고마워 Davide! (Davide Piras? 사르데냐 출신입니까? 섬의 큰 애인입니다!) 사실, VB5는 VB.net보다 훨씬 좋을 것입니다. 이전 버전의 Windows에서 작동 할 것이므로 강제적이지 않을 것입니다. 사람들은 .NET 프레임 워크를 다운로드해야합니다. 그 위에, 나는 이전 VB에서 훨씬 능숙 해졌으며 .NET에서이 앱을 작성하는 데 더 많은 시간이 걸린다. 어쨌든 고마워! 아마 당신의 솔루션을 사용하여 끝날 것입니다! – Davide