Contributte \ Imagist – User Warning gd-png: libpng warning: iCCP: known incorrect sRGB profile

flamengo
Člen | 135
+
0
-

Ahoj,
mám problém s varováním při použití doplňku Contributte\Imagist.

User Warning
Nette\Utils\Image::fromString(): gd-png: libpng warning: iCCP: known incorrect sRGB profile

Zjednodušený kód pro získání url obrázku je asi nějak takto:

$converter = new \Contributte\Imagist\Database\DatabaseConverter();
$image = $converter->convertToPhp($image);
$link = $this->linkGenerator->link($image->withFilter(new StringFilter('nazevFiltru')))

Nevíte prosím, jak „vypnout“ ono varování? Předem moc děkuji za nakopnutí.

Martk
Člen | 661
+
0
-

https://stackoverflow.com/…srgb-profile

Na kterém řádku a souboru se používá nette image?

flamengo
Člen | 135
+
0
-

Martk napsal(a):

https://stackoverflow.com/…srgb-profile

Na kterém řádku a souboru se používá nette image?

Asi by to mohlo být zde dle Tracy:


 ...\imagist\src\Bridge\Nette\Filter\NetteResourceFactory.php:18

 8:    use InvalidArgumentException;
 9:    use Nette\Utils\Image;
10:
11:    final class NetteResourceFactory implements ResourceFactoryInterface
12:    {
13:
14:        public const QUALITY_CONTEXT = 'quality';
15:
16:        public function create(FileInterface $source, ContextInterface $context): object
17:        {
18:            return Image::fromString($source->getContent());
19:        }

Editoval flamengo (15. 7. 14:17)

Martk
Člen | 661
+
0
-

Můžeš vytvořit vlastní factory, zavoláš imagecreatefromstring jako tady https://github.com/…ls/Image.php#L196 , zahodíš errors a předáš výsledek do konstruktoru Nette\Utils\Image.

flamengo
Člen | 135
+
0
-

@Martk Nevíš prosím, jak si vytvořit vlastní náhradu neboli spíš rozšířit NetteResourceFactory a NetteOperationProcessor? Abych nemusel upravovat třídy přímo v knihovně. Předem díky za případně nakopnutí.

Editoval flamengo (8. 11. 9:34)

Martk
Člen | 661
+
0
-

@flamengo Implementuj rozhraní, které implemetují třídy, které chceš nahradit nebo rozšířit. V neonu přeregistruj tyto služby https://github.com/…xtension.php#… vlastní implementaci. Když chceš rozšířit chování, tak použij decorator pattern.