3
an overloaded TableLayoutPanel
which draws some fancy borders을 만들고 있는데 어떤 이유로 Graphics::DrawImage
에 대한 호출이 예상대로 작동하지 않습니다.Graphics :: DrawImage가 이미지를 예상대로 늘리지 않는 이유는 무엇입니까?
이것은 렌더링 수행하는 기능입니다 : 내가 그것을 스트레칭 할 때 제 1 × 픽셀 원본 이미지를 페이드 아웃 것으로 보인다
void GTableLayoutPanel::RenderSides(Graphics^ g, array<Drawing::Image^>^ sideImages)
{
if(sideImages)
{
if(sideImages->Length < 4)
{
throw gcnew System::ArgumentException(String::Format("Not enough images supplied to render sides (expected 4 but only got {0})", sideImages->Length));
}
int borderSize = sideImages[0]->Height;
g->DrawImage(sideImages[0], Rectangle(borderSize, 0, this->Width-borderSize*2, borderSize));
g->DrawImage(sideImages[1], Rectangle(this->Width-borderSize, borderSize, borderSize, this->Height-borderSize*2));
g->DrawImage(sideImages[2], Rectangle(borderSize, this->Height-borderSize, this->Width-borderSize*2, borderSize));
g->DrawImage(sideImages[3], Rectangle(0, borderSize, borderSize, this->Height-borderSize*2));
}
}
충분히 근접합니다. 나는 'PixelOffsetMode :: Half'를 사용하여 발견하고 수평으로 스케일을 조정하는 동안 occational 글리치를 숨기기 위해 더 많은 픽셀을 추가했습니다. 나는 내 질문을 스토킹하고 있다고 생각하기 시작했다 한스 ;-) –
@ 존, 네, 농담이 아닙니다. 특이한 일을하고 있다는 것을 알고 있습니까? C++/CLI로 작성된 Windows Forms 코딩은 거의 수행되지 않습니다. –
그 사실을 꽤 정기적으로 생각 나게합니다 .-)하지만 다른 Dev는 C++과 같은 팀에서 C++을 사용하기 때문에 GUI를 작성하는 경향이 있습니다. –