내가 뭘 하려는지 이미지를 중첩하지 않고 이미지에 쓰는 것입니다. 그래서 나는 이미지에 실제로 영향을 미치거나 이미지를 스트레칭하지 않고 워터 마크 (문자열)를 아래쪽에 놓는 이미지에 워터 마크를 넣고 싶습니다. 나는 이미 문자열을 이미지로 변환하는 방법을 알고 있으며, 워터 마크를 달성하는 데 문제가 있습니다.C# 오버랩없이 이미지 워터 마크
1) 원 화상
3)를 포함하는 워터 마크 비트 맵을 조금 연장 스트레칭하지 우측 아래
2)에 이미지를 캐릭터 작성?
누구나 예제 나 아이디어가 있습니까? 어떤 의미가 없으면 나는 어떤 질문에 대답하려고 노력할 것이다.
비트 맵 예 :
여기이다 내가 20처럼 X에 의해 단지 크기를 증가 어떻게 내가 비트 맵을 얻기 위해 사용하는 코드?
Bitmap original = (Bitmap)System.Drawing.Image.FromFile(coveted);
Bitmap newImage = new Bitmap(original);
그리고 난 내가 이미지의 맨 아래 오른쪽에 문자열을 쓰기 위해 필요한 공간을 확인 어떻게 두 번째 부분은 전체 문자열에있는 동안 피팅 것 같다 ...
@ROY : 이것은 내가 한 편집입니다.
이 분류는 작동하지만 하나의 워터 마크가 다른 워터 마크 아래에 나타납니다. 만약 내가 같은 라인에 그들을 얻을 수 있다면 그것은 완벽 할 것이다!
private static Bitmap WatermarkImage2(Bitmap bmpOriginal, String waterMark2)
{
using (Graphics gfxOriginal = Graphics.FromImage(bmpOriginal))
{
using (Font fntWatermark = new Font("Arial", 24, FontStyle.Regular))
{
SizeF szWatermark = gfxOriginal.MeasureString(waterMark2, fntWatermark, int.MaxValue);
Bitmap bmpWatermarked2 = new Bitmap(bmpOriginal.Width, bmpOriginal.Height + (int)(szWatermark.Height * 2));
using (Graphics gfxWatermarked = Graphics.FromImage(bmpWatermarked2))
{
gfxWatermarked.Clear(Color.White);
gfxWatermarked.DrawImageUnscaled(bmpOriginal, 0, 0);
gfxWatermarked.DrawString(waterMark2, fntWatermark, Brushes.Black, 0, (bmpOriginal.Height + szWatermark.Height) - (szWatermark.Height/2));
}
return bmpWatermarked2;
}
}
}
가 지정한 수 GDI (System.Drawing) 또는 다른 라이브러리? – Skurmedel
"겹치지 않고" "실제로 영향을 미치지 않고"라는 의미를 명확히 할 수 있습니까? 중요한 시각적 요소가없는 비트 맵의 섹션에 텍스트를 인쇄 하시겠습니까? 어떻게 정의하겠습니까? 또한 "스트레칭하지 않음"과 "약간 확장하다"의 차이점은 무엇입니까? 이미지 하단에 검정색 막대를 추가하고 텍스트를 그 곳에 넣으시겠습니까? 그건 진짜 워터 마킹이 아니에요. –
잘 무엇입니까, 당신은 하단에있는 검은 막대가 올바른 생각입니다,하지만 난 단지 비트 맵을 확장하고 확장에 우표를 쓸 싶습니다 –