그래픽 클래스를 사용하여 비트 맵의 크기를 조정하면 원본 이미지의 오른쪽 및 아래쪽 픽셀이 일부 생략됩니다.축소 후 이미지 테두리가 누락됩니다.
내 코드 :
foreach(int x in new[]{60, 30})
{
var result = new Bitmap(x, x);
var g = Graphics.FromImage(result);
g.DrawImage(new Bitmap(MediaDir + "original.png"), 0, 0, x, x);
result.Save(MediaDir + "result" + x + ".png", ImageFormat.Png);
}
나는 실종 뭔가 여기
는 예 (원본, 60X60, 30x30)인가?
나는 동의하지만 그것은 버그 같은 솔기가있다. 생각하지 않니? –
그게 달려 있습니다 - 알고리즘에 대한 사양이 "픽셀에 대해 가장 중요한 색만 사용"이라고 말하면 버그가 아닙니다. 평균 색 농도와 출력을 가정한다면, 그렇습니다. 나는 동의합니다. – ZombieSheep
이것은 버그가 아닙니다. 생각해 보면 이미지를 축소하면 데이터가 손실됩니다. HighQualityBicubic과 같은 더 똑똑한 보간 모드는 데이터를 적게 소비하지만 데이터는 여전히 손실됩니다. 이미지 크기를 조정하여 3 픽셀 씩 하나씩 병합하면 3 개 중 2 개가 버려집니다. 너의 얇은 붉은 색 선은 버려지고 만다. 두꺼운 경우 (1 픽셀 너비 이상) 여전히 나타날 수 있습니다. –