다음 이미지를 살펴보면이 아이콘은 32x32 크기의 상당히 기본적인 아이콘입니다. 아이콘 주위에는 투명한 직사각형이 있습니다. 그러나 테스트하는 동안 네 모서리를 단색으로 채웠습니다. 내 이미지의 Graphics.DrawImage 자르기 부분이 왜입니까?
이제 단순히 이미지를 그리는이 코드를 고려하지만, 더 큰 규모 : 나는 전체 이미지를 그리기 그리고 난 작물을 시도하고 있지 않다protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
e.Graphics.InterpolationMode = InterpolationMode.NearestNeighbor;
e.Graphics.DrawImage(Properties.Resources.icon_32a, new RectangleF(0, 0, 512, 512), new RectangleF(0, 0, 32, 32), GraphicsUnit.Pixel);
}
주 어떤 식 으로든 그것을 확대하십시오.
주의 문제 :
마지막으로,이 테스트가 저를 준다 출력은? 상단 행과 왼쪽 열의 픽셀 중 절반이 사라졌습니다. 그런 다음 그리드를 오버레이하여 그리드가 올바르게 정렬되었지만 이미지는 그렇지 않습니다. 크기를 64로 두 배로 늘리더라도 64는이 첫 번째 행/열 수확을 도입합니다.
참고로, 0,0보다 먼저 그리는 경우를 대비하여 대상 사각형을 오프셋했지만, 그렇지 않았습니다.
다른 보간 모드를 사용해 보았지만 두통으로 인해 흐림을 유발할 수있는 한 픽셀은 여전히 자르기 때문에 보간 모드로 인한 것 같지 않습니다.
나는 또한 다른 그래픽 모드를 사용하려고했지만 도움이되지 않았다는 사실 외에도 어쨌든 픽셀을 고수해야합니다.
나는 호기심에서 96dpi로 이미지의 새로운 사본을 다시 시도하고 동일한 효과를 얻었으므로 원본 이미지의 해상도라고 생각하지 않습니다.
빨대에서 클러치를하고 대신 Rectangle
을 사용하면 효과가 없습니다.
누구나이 명백한 작물이 발생하는 이유에 대한 단서를 제공 할 수 있습니까?
감사합니다.
로템은, 당신의 대답을 주셔서 감사합니다 - 난이 특정 자산을 인식하지 않았다. 나는 그것을 테스트했지만 여전히 작동하지 않았다. 그러나 'HighQuality'로 설정하면 이미지가 올바르게 렌더링됩니다. 나에게는 어리석은 기본값처럼 들리지만 알면 쉽게 고칠 수 있습니다 - 다시 한 번 감사드립니다! –
나는 동일한 문제가 있었다. 또한'PixelOffsetMode' 속성을 인식하지 못했습니다. 다시 말하지만,'PixelOffsetMode.None'은 명확한 설정 임에도 불구하고 저에게 효과적이지 않았지만'PixelOffsetMode.HighQuality'가 효과가있었습니다. –