2016-06-09 8 views
2

В любом случае?MakeScreenshot не отображается правильно, когда применяется эффект

Когда я помещаю TRectangle с TBlurEffect внутри TLayout, а рядом с ним TImage (с WrapMode iwOriginal), затем назначаем результат растрового изображения Layout1.MakeScreenshot для растрового изображения изображения, штрих прямоугольника окрашен (но эффект размытия вне штриха все еще виден).

The form

procedure TForm7.Button1Click(Sender: TObject); 
begin 
    Image1.Bitmap := Layout1.MakeScreenshot 
end; 

enter image description here

Любой способ сделать эту функцию по желанию?

ответ

2

Используйте ProcessEffect процедуру эффекта на изображении после назначения картинки:

procedure TForm3.Button1Click(Sender: TObject); 
begin 
    Image1.Bitmap := Layout1.MakeScreenshot; 
    BlurEffect1.ProcessEffect(Image1.Bitmap.Canvas, Image1.Bitmap, 1); 
end; 

enter image description here

+0

Это делает трюк! Brilliant! Большое спасибо. – Domus