저는 스피너와 슬라이더에 설정된 축척으로 이미지를 그리는 빈 영역을 포함하는 폼이 있습니다. 이미지 경로는 양식이로드되고 변경되지 않을 때 만들어집니다. 현재 내가 이미지를 표시하려면이 같은 것을 사용하고 있습니다 :C++ 형식의 이미지 로딩이 더 빠릅니다.
void drawImages(void)
{
//...
clearImages();
for each(String ^image in images)
{
box = gcnew PictureBox;
box->Name = "pictureBox" + i.ToString(); //Used when deleting.
// setting properties snipped
box->Image = Image::FromFile(image);
Controls->Add(box);
}
}
을 그리고 여기에 청산 코드는 회 전자의 '값 변경'이벤트와 형태의 '크기 조정'이벤트에 유선의 :
void clearImages(void)
{
for(int i=0; i<images->Count; ++i)
Controls->RemoveByKey("pictureBox" + i.ToString());
}
문제는 사진을 다시로드하고 깜박일 때까지 오래 걸릴 수 있다는 것입니다. 저것을 고치는 방법 있는가? 내가 만들고 싶은 한 가지 개선점은 사용자가 회 전자에서 마우스를 들어 올릴 때마다 이미지를 다시 그리는 것입니다. 이미지가 변경 될 때마다 다시 그리지는 않습니다. 즉 슬라이더의 값에 따라 이미지의 다양한 매개 변수를 조정했다 당신이 시도 할 수 있습니다 몇 가지가 일단
컨트롤을 제거하고 추가하기 때문에 깜박입니다. 이미지를 다시로드하기 때문에 시간이 오래 걸립니다. 이것은 폼의 크기를 조정할 때 수행하려는 작업이 아닙니다. 그림 상자의 크기를 조정하고 필요에 따라 다시 작성하지 마십시오. 회 전자가 무엇인지 전혀 모르겠습니다. –
이미지의 크기를 설정하기위한 것입니다. 크기를 늘리면 이미지가 커지고 다른 레이아웃으로 다시 그려집니다. –
예, 컨트롤의 크기를 조정하고 다시 작성하지 마십시오. Anchor 속성으로하기 쉽습니다. 전에 대신 OnPaint를 사용하여 언급 했습니까? –