격자 안에있는 테두리 안에 들어있는 이미지를 자르는 논리를 만들었습니다. 그리드에는 많은 테두리가있어서이 그리드에는 많은 그림이 있습니다. 문제는 그림을 확대했을 때 로직이 그림을 확대 (괜찮 았음)했으나 자르기 로직을 사용할 때 AdornerLayer
은 그림과 같이 테두리 외부로 이동합니다 : 그림을 확대하면 AdornerLayer가 테두리 밖으로 나옵니다. WPF
이 이미지에는 그림이 없습니다. 줌, 그래서 AdornerLayer
가 정확한지 :
나는 이미지에 작물을 추가 사용하고 코드 : 타락한라는 이름의 객체가 내가 자르고 자하는 그림이다이 경우
private void AddCropToElement(FrameworkElement fel, System.Drawing.Image img)
{
if (!cropElements.ContainsKey(Convert.ToString(((Image)fel).Source)))
{
if (_felCur != null)
{
RemoveCropFromCur();
}
rcInterior = new Rect(
fel.ActualWidth * 0.2,
fel.ActualHeight * 0.2,
fel.ActualWidth * 0.6,
fel.ActualHeight * 0.6);
rectMoving = false;
Rect newRect = scaleRect(rcInterior, img);
imgCropMove = img;
AdornerLayer aly = AdornerLayer.GetAdornerLayer(fel);
_clp = new CroppingAdorner(fel, rcInterior);
aly.Add(_clp);
cropElements.Add(Convert.ToString(((Image)fel).Source), fel);
imageCropped = _clp.Crop(new System.Drawing.Bitmap(img), newRect);
_clp.CropChanged += HandleCropChanged;
_felCur = fel;
}
}
국경은 그의 부모입니다.
이미지가 확대 된 경우 외부로 나가는 AdornerLayout 문제를 어떻게 해결할 수 있습니까?
약간의 adorner OnRender 코드를 공유해 주시겠습니까? (또는 xaml 꾸미기를 사용하는 경우) –