Γεια χαρά, Επισκέπτης
Όνομα Χρήστη Κωδικός: Να με θυμάσαι

thumbnails φωτεινά και με σκιά.
(1 μέλος/η είναι εδώ) (1) Επισκέπτης
  • Σελίδα:
  • 1

ΘΕΜΑ: thumbnails φωτεινά και με σκιά.

thumbnails φωτεινά και με σκιά. 2 Χρόνια, 9 Μήνες πριν #5600

  • etsoft
  • ΕΚΤΟΣ ΣΥΝΔΕΣΗΣ
  • Administrator
  • Τι εννοείς δεν γίνετε?
  • Δημοσιεύσεις: 284
  • Karma: 9
Για κατάστημα σε vm3 που έχει κυρίως φωτογραφίες ξεγυρισμένες με άσπρο φόντο
και για να δείχνει πιο όμορφη η μικρογραφία που παράγει αυτόματα το vm, στο αρχείο
administrator/components/com_virtuemart/helpers/img2thumb.php και στην function NewImgResize στο τέλος, αντικατέστησα το
return $im_out;
με τον παρακάτω κώδικα.
/*AND SHARPEN TO ORIGINAL AS FUNCTIONS COMMENT SUGGESTS*/
$sharpenMatrix = array
            (
                array(-1.2, -1, -1.2),
                array(-1, 20, -1),
                array(-1.2, -1, -1.2)
            );
            // calculate the sharpen divisor 
            $divisor = array_sum(array_map('array_sum', $sharpenMatrix));
            $offset = 0;
            // apply the matrix 
            imageconvolution($im_out, $sharpenMatrix, $divisor, $offset);
/*AND SOME SHANDOW TO THUMBNAIL*/
//Get dimensions
$width = imagesx($im_out);
$height = imagesy($im_out);
//copy image to mask
$im_mask =  imagecreatetruecolor($width, $height);
imagecopy($im_mask, $im_out,0,0,0,0,$width,$height);
//Convert to monochrome gray
imagefilter ($im_mask,IMG_FILTER_BRIGHTNESS,30);
$gray = imagecolorallocate($im_mask, 230, 230, 230);
$alpha = imagecolorallocatealpha($im_mask, 255, 255, 255,127);
for ($x = 0; $x < $width; $x++) {
    for ($y = 0; $y < $width; $y++) {
        $color = imagecolorat($im_mask, $x, $y);
        $color = imagecolorsforindex($im_mask,$color);

$distance_from_white =  max($color['red'],255) - min($color['red'],255) +
           max($color['green'],255) - min($color['green'],255) +
           max($color['blue'],255) - min($color['blue'],255);

if ($distance_from_white>20) {
//     if ($color['red'] != 255 || $color['green'] != 255 || $color['blue'] != 255) {
            imagesetpixel($im_mask, $x, $y, $gray);
        } else {
            imagesetpixel($im_mask, $x, $y, $alpha);
            imagesetpixel($im_out, $x, $y, $alpha);//Set transparent to original to..
        }
    }
}
//Blur the shadow
$im_large = imagecreatetruecolor($width*4, $height*4);
imagecopyresampled($im_large,$im_mask,0,0,0,0,$width*4,$height*4,$width,$height);
imagefilter($im_large,IMG_FILTER_GAUSSIAN_BLUR);
imagefilter($im_large,IMG_FILTER_SMOOTH,-7);
imagecopyresampled($im_mask,$im_large,0,0,0,0,$width,$height,$width*4,$height*4);
imagefilter($im_mask,IMG_FILTER_GAUSSIAN_BLUR);
imagecopy($im_mask, $im_out, -3, -3, 0, 0, $width, $height);
         return $im_mask;

μετά με μια "Επαναφορά Μικρογραφιών" οι μικρογραφίες έγιναν πολύ πιο "ευχάριστες"

(Μην το κάνεις αν οι εικόνες δεν ειναι κυρίως σε άσπρο φόντο...)
  • Σελίδα:
  • 1
Συντονιστές: PascM, yourgeek
Χρόνος για την δημιουργία της σελίδας: 0.13 δευτερόλεπτα

Δεν είσαστε συνδεδεμένος.