tôi cần phải xáo trộn một khu vực nhất định của hình ảnh bằng PHP và GD, hiện nay tôi đang sử dụng đoạn mã sau:PHP/GD Gaussian Blur Effect
for ($x = $_GET['x1']; $x < $_GET['x2']; $x += $pixel)
{
for ($y = $_GET['y1']; $y < $_GET['y2']; $y += $pixel)
{
ImageFilledRectangle($image, $x, $y, $x + $pixel - 1, $y + $pixel - 1, ImageColorAt($image, $x, $y));
}
}
này về cơ bản thay thế vùng chọn với hình vuông $ pixel pixel. Tôi muốn thực hiện một số loại mờ (gaussian tốt) có hiệu lực, tôi biết tôi có thể sử dụng imagefilter() chức năng:
ImageFilter($image, IMG_FILTER_GAUSSIAN_BLUR);
Nhưng nó làm mờ toàn bộ vải, vấn đề của tôi là tôi chỉ muốn làm mờ một cụ thể khu vực.
Trên thực tế, đây là một cách giải quyết đẹp tuy nhiên tôi vẫn muốn biết làm thế nào để tay tạo hiệu ứng mờ như hiệu ứng. –
Bạn có thể tìm kiếm trên wikipedia: http://en.wikipedia.org/wiki/Gaussian_blur#Thực hiện hoặc xem các bài đăng tương tự trên StackOverflow: http://stackoverflow.com/questions/98359/fastest-gaussian-blur- thực hiện nhưng tôi khuyên bạn nên sử dụng thư viện tích hợp sẵn. Các thư viện này sử dụng các thuật toán được biên dịch để tăng tốc quá trình. – Scharrels
Tôi lấy gợi ý bạn đưa cho tôi và tôi đã lặp lại ImageFilter 128 trên khu vực được chọn để làm xáo trộn nó, có thể bằng cách thực hiện tùy chỉnh tôi có thể nhận được kết quả nhanh hơn. –