Чуть подправил vqmod, теперь, он накладывает знак уже после ресайза, и для изображений больше 150 точек, теперь он получается одинакового размера на всех изображениях, независимо от их исходного размера.
А так ваще вкумод рульный получился, одним движением брюки превратились в отличные шорты, и не надо лопатить кучу файлов!
<modification>
<id>Add Watermark</id>
<version>1.0</version>
<vqmver>1.1.0</vqmver>
<author>Rob Horsfield and thread 3664</author>
<file name="catalog/model/tool/image.php">
<operation>
<search position="after"><![CDATA[
$image->resize($width, $height);
]]></search>
<add><![CDATA[
if ($width > 150 || $height > 150) {
$image->watermark(DIR_IMAGE . 'watermark.png', 'center');
}
]]></add>
</operation>
</file>
<file name="system/library/image.php">
<operation>
<search position="replace"><![CDATA[
$watermark = $this->create($file);
]]></search>
<add><![CDATA[
$watermark = imagecreatefrompng($file);
]]></add>
</operation>
<operation>
<search position="before"><![CDATA[
case 'bottomright':
]]></search>
<add><![CDATA[
case 'center':
$watermark_pos_x = ($this->info['width']- $watermark_width)/2;
$watermark_pos_y = ($this->info['height']- $watermark_height)/2;
break;
]]></add>
</operation>
<operation>
<search position="replace"><![CDATA[
imagecopy($this->image, $watermark, $watermark_pos_x, $watermark_pos_y, 0, 0, 120, 40);
]]></search>
<add><![CDATA[
imagecopy($this->image, $watermark, $watermark_pos_x, $watermark_pos_y, 0, 0, $watermark_width, $watermark_height);
]]></add>
</operation>
</file>
</modification>