Ecshop Background Add Product album when BMP format cannot generate thumbnail image

Source: Internet
Author: User
Tags bmp image fread image processing library unpack
Ecshop BMP

Ecshop background Batch generation picture product album when BMP format can not generate thumbnails to find out how to solve? The effect I want to achieve is to be able to generate images in BMP format!


Reply to discussion (solution)

Ecshop itself does not support BMP image generation thumbnails. You have to convert to Gif/jpg/png first one of them.

Ecshop itself does not support BMP image generation thumbnails. You have to convert to Gif/jpg/png first one of them.
All I want is for ecshop to support this generation diagram! What do we do?

You can download a imagecreatefrombmp.php
and change your program.


Ecshop itself does not support BMP image generation thumbnails. You have to convert to Gif/jpg/png first one of them.
All I want is for ecshop to support this generation diagram! What do we do?
Includes/cls_image.php is Ecshop's image processing library, you can use imagecreatefrombmp this function to expand itself

function Imagecreatefrombmp ($filename) {//ouverture du fichier en mode binaire if (! $f 1 = @fopen ($filename, "RB")) return FALSE;  1:chargement des ent?tes fichier $FILE = Unpack ("Vfile_type/vfile_size/vreserved/vbitmap_offset", Fread ($f 1, 14)); if ($FILE [' file_type ']! = 19778) return FALSE; 2:chargement des ent?tes BMP $BMP = unpack (' Vheader_size/vwidth/vheight/vplanes/vbits_per_pixel '. '/vcompression/vsize_bitmap/vhoriz_resolution '. '/vvert_resolution/vcolors_used/vcolors_important ', fread ($f 1, 40)); $BMP [' colors '] = POW (2, $BMP [' bits_per_pixel ']); if ($BMP [' size_bitmap '] = = 0) $BMP [' Size_bitmap ']= $FILE [' file_size ']-$FILE [' Bitmap_offset ']; $BMP [' bytes_per_pixel '] = $BMP [' Bits_per_pixel ']/8; $BMP [' bytes_per_pixel2 '] = ceil ($BMP [' bytes_per_pixel ']); $BMP [' decal '] = ($BMP [' width ']* $BMP [' Bytes_per_pixel ']/4); $BMP [' decal ']-= Floor ($BMP [' width '] * $BMP [' bytes_per_pixel ']/4); $BMP [' decal '] = 4-(4 * $BMP [' decal ']);if ($BMP [' decal '] = = 4) $BMP [' decal '] = 0; 3:chargement des couleurs de la palette $PALETTE = array ();  if ($BMP [' Colors '] < 16777216) {$PALETTE = unpack (' V '. $BMP [' colors '], fread ($f 1, $BMP [' colors '] * 4));} 4:cr?ation de l ' Image $IMG = Fread ($f 1, $BMP [' Size_bitmap ']); $VIDE = chr (0); $res = Imagecreatetruecolor ($BMP [' width '], $BMP [' height ']); $P = 0; $Y = $BMP [' height ']-1; while ($Y >= 0) {$X = 0, while ($X < $BMP [' width ']) {if ($BMP [' bits_per_pixel '] = =) $COLOR = @unpack ("V ", substr ($IMG, $P, 3). $VIDE); ElseIf ($BMP [' Bits_per_pixel ']==) {$COLOR = unpack ("n", substr ($IMG, $P, 2)); $COLOR [1] = $PALETTE [$COLOR [1] + 1];  }elseif ($BMP [' Bits_per_pixel ']== 8) {$COLOR = unpack ("n", $VIDE. substr ($IMG, $P, 1)); $COLOR [1] = $PALETTE [ $COLOR [1] + 1]; }elseif ($BMP [' Bits_per_pixel ']== 4) {$COLOR = unpack ("n", $VIDE. substr ($IMG, Floor ($P), 1)); if (($P * 2 )% 2 = = 0) $COLOR [1] = ($COLOR [1] >> 4); else $COLOR [1] = ($COLOR [1] & 0x0F); $COLOR [1] = $PALETTE [$COLOR [1] + 1]; }elseif ($BMP [' Bits_per_pixel ']== 1) {$COLOR = unpack ("n", $VIDE. substr ($IMG, Floor ($P), 1)); if (($P * 8 )% 8 = = 0) $COLOR [1] = $COLOR [1] >> 7; ElseIf (($P * 8)% 8 = = 1) $COLOR [1] = ($COLOR [1] & 0x40) >> 6; ElseIf (($P * 8)% 8 = = 2) $COLOR [1] = ($COLOR [1] & 0x20) >> 5; ElseIf (($P * 8)% 8 = = 3) $COLOR [1] = ($COLOR [1] & 0x10) >> 4; ElseIf (($P * 8)% 8 = = 4) $COLOR [1] = ($COLOR [1] & 0x8) >> 3; ElseIf (($P * 8)% 8 = = 5) $COLOR [1] = ($COLOR [1] & 0x4) >> 2; ElseIf (($P * 8)% 8 = = 6) $COLOR [1] = ($COLOR [1] & 0x2) >> 1; ElseIf (($P * 8)% 8 = = 7) $COLOR [1] = ($COLOR [1] & 0x1); $COLOR [1] = $PALETTE [$COLOR [1] + 1]; }else return FALSE; Imagesetpixel ($res, $X, $Y, $COLOR [1]); $X + +; $P + = $BMP [' Bytes_per_pixel ']; } $Y--; $P + = $BMP [' decal ']; }//Fermeture du fichier fclose ($f 1); return $res;  }
  • Contact Us

    The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

    If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.