سؤال

لدي مشكلة مع ImageIcopyresampleed للمخازن المؤقتة التي تستخدم قيم ألفا. يبدو أن الخوارزمية تتعلق قيم البكسل ألفا قبل التصفية، وهذا يؤدي إلى كائنات حول حدود الحدود السوداء.

خطوات إعادة إنشاء:

  • تأخذ صورة بيضاء تماما في الجزء RGB ولديها دائرة بيضاء (تذهب مع دائرة، وليس مع مربع!) على خلفية سوداء في الجزء ألفا (وبالتالي سيكون جزء ألفا في الغالب بيضاء بيضاء بالكامل وبكسلات سوداء تماما، بالإضافة إلى بعض البكسل التدريجي على حدود الدائرة بسبب الفادحة - وهذا يعني أن صورة الإدخال غير مرتبطة - إنها مستقيمة / غير مستقرة، لأن جزء RGB من الصورة أبيض تماما).

  • scaledown الصورة بمقدار النصف باستخدام ImageIcopyresampleed

  • يؤلف النتيجة على صورة بيضاء تماما

    ما أتوقعه: صورة بيضاء تماما

    ما أحصل عليه: حول الحدود الرمادية الخطوط العريضة للدائرة

    أنا متأكد من أن هذا بسبب PREMUNTISED ALPHA داخل خوارزمية SCALEDOWN (تضاعف الخوارزمية قيمة البكسل ألفا مع قيمة RGB بحساب قيمة RGB الجديدة - وبالتالي سوف تصبح بكسلات بيضاء بيضاء باللون الرمادي)

    هل يعرف أحد أساسية لهذا؟

هل كانت مفيدة؟

المحلول

أقترح تجربة صورة Magick for PHP.

http://www.php.net/manual/en/imagick.resizeimage.php

http://www.php.net/manual/en/imagick.scaleimage.php

في تجربتي جميع المتاعب المتعلقة بالتصوير في PHP يذهب بعيدا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top