0
나는 잘 작동하지만, 이미지의 크기가 점점쓰기 텍스트
private bool HavException { get; set; }
private string ExceptionMessage { get; set; }
public Bitmap SourceImage { get; set; }
public Bitmap DestinationImage { get; set; }
public ImageMethods()
{
HavException = false;
ExceptionMessage = string.Empty;
}
public Image AddWatermarkText(Image img, string textOnImage)
{
try
{
textOnImage = ConfigurationManager.AppSettings["textOnImage"];
var opacity = Int32.Parse(ConfigurationManager.AppSettings["opicity"]);
var red = Int32.Parse(ConfigurationManager.AppSettings["red"]);
var green = Int32.Parse(ConfigurationManager.AppSettings["green"]);
var blue = Int32.Parse(ConfigurationManager.AppSettings["blue"]);
var fontSize = Int32.Parse(ConfigurationManager.AppSettings["fontSize"]);
var fontName = ConfigurationManager.AppSettings["fontName"];
var lobFromImage = Graphics.FromImage(img);
var lobFont = new Font(fontName, fontSize, FontStyle.Bold);
var lintTextHw = lobFromImage.MeasureString(textOnImage, lobFont);
var lintTextOnImageWidth = (int)lintTextHw.Width;
var lintTextOnImageHeight = (int)lintTextHw.Height;
var lobSolidBrush = new SolidBrush(Color.FromArgb(opacity, Color.FromArgb(red, green, blue)));
// lobFromImage.Clear(Color.White);
lobFromImage.DrawImage(img, img.Height, img.Width);
var posLeft = (img.Width - lintTextOnImageWidth)/2;
posLeft = posLeft > 0 ? posLeft : 5;
var lobPoint = new Point(posLeft, (img.Height/2) - (lintTextOnImageHeight/2));
// var lobPoint = new Point(RandomNumber(0, img.Width - lintTextOnImageWidth), RandomNumber(0, img.Height - lintTextOnImageHeight));
lobFromImage.DrawString(textOnImage, lobFont, lobSolidBrush, lobPoint);
lobFromImage.Save();
lobFromImage.Dispose();
lobSolidBrush.Dispose();
lobFont.Dispose();
}
catch (Exception ex)
{
HavException = true;
ExceptionMessage = ex.Message;
}
return img;
}
모든 것은 아래로 작성된 함수를 호출 이미지에 텍스트를 작성하기위한 핸들러를 만들었습니다 2 ~ 3 배 증가했습니다. 크기가 너무 많이 증가하지 않는 방법이 있습니까? 원본 이미지로 jpg 있습니다.
감사
두 줄을 모두 제거했지만 여전히 이미지 크기가 커지고 있습니다. 그것은 원래 크기의 모든 이중을 얻고 있습니다. 이제 더 나은 접근 방법이 되겠습니까? –
@krshekhar, 어떻게 이미지 파일을 열거 나 저장합니까? 그 코드뿐만 아니라 게시하십시오! – VinayC
다른 응용 프로그램에서 사용할 수있는 중앙 집중식 이미지 서버가 있습니다. 이미지 서버에서 요청 및 응답에 대한 HTTP 처리기를 만들었습니다. 다음과 같습니다 –