php 打包gd 库
php 封装gd 库
使用sae 版 thinkphp 在本地和sae 上无法实现缩略图,缩略图主要使用在瀑布流上面,不然一张图片2 3 M,速度太慢,就自己封装了一个,见笑!
<code class=" hljs xml"><span class="php"><span class="hljs-preprocessor"><?php</span><span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">Thumb</span>{</span> <span class="hljs-comment">// 设置最大宽度,用来在编辑器中使用和显示</span> <span class="hljs-keyword">private</span> <span class="hljs-variable">$max_width</span> = <span class="hljs-keyword">null</span>; <span class="hljs-keyword">private</span> <span class="hljs-variable">$file_name</span> = <span class="hljs-keyword">null</span>; <span class="hljs-keyword">private</span> <span class="hljs-variable">$water_name</span> = <span class="hljs-keyword">null</span>; <span class="hljs-comment">//获得文件名和图片宽度</span> <span class="hljs-keyword">public</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">__construct</span><span class="hljs-params">(<span class="hljs-variable">$max_widht</span>,<span class="hljs-variable">$file_name</span>,<span class="hljs-variable">$water_name</span>)</span> {</span> <span class="hljs-variable">$this</span>->max_width = <span class="hljs-variable">$max_widht</span>; <span class="hljs-variable">$this</span>->file_name = <span class="hljs-variable">$file_name</span>; <span class="hljs-variable">$this</span>->water_name = <span class="hljs-variable">$water_name</span>; } <span class="hljs-keyword">public</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">create_image</span><span class="hljs-params">()</span>{</span> <span class="hljs-comment">// 获得ori图片信息</span> <span class="hljs-keyword">list</span>(<span class="hljs-variable">$width</span>,<span class="hljs-variable">$height</span>,<span class="hljs-variable">$type</span>) = getimagesize(<span class="hljs-variable">$this</span>->file_name); <span class="hljs-comment">// 当原有图片大于 要求的最大宽度时,才需要进行压缩</span> <span class="hljs-keyword">if</span>(<span class="hljs-variable">$width</span> > <span class="hljs-variable">$this</span>->max_width){ <span class="hljs-comment">// 获得图片压缩百分比</span> <span class="hljs-variable">$per</span> = <span class="hljs-variable">$this</span>->max_width / <span class="hljs-variable">$width</span>; <span class="hljs-variable">$new_width</span> = <span class="hljs-variable">$width</span> * <span class="hljs-variable">$per</span>; <span class="hljs-variable">$new_height</span> = <span class="hljs-variable">$height</span> * <span class="hljs-variable">$per</span>; }<span class="hljs-keyword">else</span>{ <span class="hljs-variable">$new_height</span> = <span class="hljs-variable">$height</span>; <span class="hljs-variable">$new_width</span> = <span class="hljs-variable">$width</span>; } <span class="hljs-comment">//创建一个真彩色图像</span> <span class="hljs-variable">$image_p</span> = imagecreatetruecolor(<span class="hljs-variable">$new_width</span>, <span class="hljs-variable">$new_height</span> -<span class="hljs-number">10</span>); <span class="hljs-variable">$image</span> = <span class="hljs-variable">$this</span>->image_obj(<span class="hljs-variable">$type</span>, <span class="hljs-variable">$this</span>->file_name); imagecopyresampled(<span class="hljs-variable">$image_p</span>, <span class="hljs-variable">$image</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-variable">$new_width</span>, <span class="hljs-variable">$new_height</span>, <span class="hljs-variable">$width</span>, <span class="hljs-variable">$height</span>); <span class="hljs-variable">$this</span>->image_dump(<span class="hljs-variable">$type</span>, <span class="hljs-variable">$image_p</span>, <span class="hljs-variable">$this</span>->file_name); <span class="hljs-variable">$this</span>->water(); } <span class="hljs-comment">/* * 生成为图片添加水印 */</span> <span class="hljs-keyword">private</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">water</span><span class="hljs-params">()</span>{</span> <span class="hljs-variable">$water_name</span> = <span class="hljs-variable">$this</span>->water_name; <span class="hljs-variable">$dist_name</span> = <span class="hljs-variable">$this</span>->file_name; <span class="hljs-keyword">list</span>(<span class="hljs-variable">$dist_width</span>,<span class="hljs-variable">$dist_height</span>,<span class="hljs-variable">$type</span>) = getimagesize(<span class="hljs-variable">$dist_name</span>); <span class="hljs-variable">$dist_im</span> = <span class="hljs-variable">$this</span>->image_obj(<span class="hljs-variable">$type</span>, <span class="hljs-variable">$this</span>->file_name); <span class="hljs-variable">$water_name</span> = <span class="hljs-string">"D:/xampps/htdocs/buyingfeiblog/1/App/Modules/Admin/Tpl/Public/Images/water.png"</span>; <span class="hljs-keyword">list</span>(<span class="hljs-variable">$w_width</span>,<span class="hljs-variable">$w_height</span>) = getimagesize(<span class="hljs-variable">$water_name</span>); <span class="hljs-comment">// 获得图片水印信息</span> <span class="hljs-variable">$water_src</span> = imagecreatefrompng(<span class="hljs-variable">$water_name</span>); <span class="hljs-comment">// 设置图片水印位置 在右下角</span> <span class="hljs-variable">$x</span> = (<span class="hljs-variable">$dist_width</span> - <span class="hljs-variable">$w_width</span>) / <span class="hljs-number">4</span> * <span class="hljs-number">3</span> ; <span class="hljs-variable">$y</span> =(<span class="hljs-variable">$dist_height</span> - <span class="hljs-variable">$w_height</span>) /<span class="hljs-number">4</span> * <span class="hljs-number">3</span> ; <span class="hljs-keyword">if</span>(imagecopy(<span class="hljs-variable">$dist_im</span>, <span class="hljs-variable">$water_src</span>, <span class="hljs-variable">$x</span>, <span class="hljs-variable">$y</span>, <span class="hljs-number">0</span>, <span class="hljs-number">0</span>, <span class="hljs-variable">$w_width</span>, <span class="hljs-variable">$w_height</span>)){ imagepng(<span class="hljs-variable">$dist_im</span>,<span class="hljs-variable">$dist_name</span>); <span class="hljs-keyword">echo</span> <span class="hljs-string">"success"</span>; }<span class="hljs-keyword">else</span>{ <span class="hljs-keyword">echo</span> <span class="hljs-string">"error"</span>; } } <span class="hljs-comment">// 生成图片类型,生成不同图片 保持图片原本类型不发生变化</span> <span class="hljs-keyword">private</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">image_dump</span><span class="hljs-params">(<span class="hljs-variable">$type</span>,<span class="hljs-variable">$image_p</span>,<span class="hljs-variable">$filename</span>)</span>{</span> <span class="hljs-keyword">switch</span> (<span class="hljs-variable">$type</span>){ <span class="hljs-keyword">case</span> <span class="hljs-number">1</span>: imagegif(<span class="hljs-variable">$image_p</span>, <span class="hljs-variable">$filename</span>); <span class="hljs-variable">$dis_im</span> = imagecreatefromgif(file_name); <span class="hljs-keyword">break</span>; <span class="hljs-keyword">case</span> <span class="hljs-number">2</span>: imagejpeg(<span class="hljs-variable">$image_p</span>, <span class="hljs-variable">$this</span>->file_name); <span class="hljs-variable">$dis_im</span> = imagecreatefromjpeg(file_name); <span class="hljs-keyword">break</span>; <span class="hljs-keyword">case</span> <span class="hljs-number">3</span>: imagepng(<span class="hljs-variable">$image_p</span>,file_name); <span class="hljs-variable">$dis_im</span> = imagecreatefrompng(file_name); <span class="hljs-keyword">break</span>; <span class="hljs-keyword">default</span> : } } <span class="hljs-comment">// 根据图片不同,生成不同资源对象</span> <span class="hljs-keyword">private</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">image_obj</span><span class="hljs-params">(<span class="hljs-variable">$type</span>,<span class="hljs-variable">$filename</span>)</span>{</span> <span class="hljs-keyword">switch</span> (<span class="hljs-variable">$type</span>){<span class="hljs-comment">// 1 = GIF,2 = JPG,3 = PNG,</span> <span class="hljs-keyword">case</span> <span class="hljs-number">1</span>: <span class="hljs-variable">$image</span> = imagecreatefromgif(<span class="hljs-variable">$filename</span>); <span class="hljs-keyword">break</span>; <span class="hljs-keyword">case</span> <span class="hljs-number">2</span>: <span class="hljs-variable">$image</span> = imagecreatefromjpeg(<span class="hljs-variable">$filename</span>); <span class="hljs-keyword">break</span>; <span class="hljs-keyword">case</span> <span class="hljs-number">3</span>: <span class="hljs-variable">$image</span> = imagecreatefrompng(<span class="hljs-variable">$filename</span>); <span class="hljs-keyword">break</span>; <span class="hljs-keyword">default</span> : } <span class="hljs-keyword">return</span> <span class="hljs-variable">$image</span>; }} <span class="hljs-variable">$thumb</span> = <span class="hljs-keyword">new</span> Thumb(<span class="hljs-number">725</span>,<span class="hljs-string">"D:/xampps/htdocs/test/test.jpg"</span>); <span class="hljs-variable">$thumb</span>->create_image();<span class="hljs-comment">//create_image</span><span class="hljs-preprocessor">?></span></span></code>
就是这么简单,
主要包括生成真彩图,
创建图形对象资源
图片进行合并,ok!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Cet article présente sept façons d'obtenir une sortie de haute qualité à l'aide du logiciel gratuit BingImageCreator. BingImageCreator (maintenant connu sous le nom d'ImageCreator pour Microsoft Designer) est l'un des grands générateurs d'art d'intelligence artificielle en ligne. Il génère des effets visuels très réalistes basés sur les invites de l'utilisateur. Plus vos invites sont spécifiques, claires et créatives, meilleurs seront les résultats. BingImageCreator a fait des progrès significatifs dans la création d'images de haute qualité. Il utilise désormais le mode d'entraînement Dall-E3, affichant un niveau de détail et de réalisme plus élevé. Cependant, sa capacité à produire des résultats HD de manière cohérente dépend de plusieurs facteurs, notamment la rapidité

Comment supprimer des images sur les téléphones mobiles Xiaomi ? Vous pouvez supprimer des images sur les téléphones mobiles Xiaomi, mais la plupart des utilisateurs ne savent pas comment supprimer des images. Voici ensuite le didacticiel sur la façon de supprimer des images sur les téléphones mobiles Xiaomi proposé par l'éditeur. pouvez venir nous rejoindre. Voyons! Comment supprimer des images sur le téléphone mobile Xiaomi 1. Ouvrez d'abord la fonction [Album] dans le téléphone mobile Xiaomi ; 2. Vérifiez ensuite les images inutiles et cliquez sur le bouton [Supprimer] dans le coin inférieur droit ; en haut pour accéder à la zone spéciale, sélectionnez [Corbeille] ; 4. Cliquez ensuite directement sur [Vider la corbeille] comme indiqué dans la figure ci-dessous. 5. Enfin, cliquez directement sur [Suppression permanente] pour terminer.

En HTML5, width signifie width. L'attribut width définit la largeur de la zone de contenu de l'élément. Vous pouvez ajouter des marges intérieures, des bordures et des marges extérieures en dehors de la zone de contenu. élément.

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

LINUX est un système d'exploitation open source. Sa flexibilité et sa personnalisation en font le premier choix de nombreux développeurs et administrateurs système. Dans le système LINUX, le traitement d'image est une tâche très importante, et Imagemagick et Image sont deux outils de traitement d'image très populaires. L'article vous expliquera comment installer Imagemagick et Image dans le système Centos et fournira des didacticiels d'installation détaillés. Installation d'Imagemagic Tutoriel Centos Imagemagick est un puissant ensemble d'outils de traitement d'image, qui peut effectuer diverses opérations sur les images sous la ligne de commande. Voici les étapes pour installer Imagemagick sur le système Centos : 1.

Explication détaillée des propriétés des dimensions CSS : hauteur et largeur Dans le développement front-end, CSS est un puissant langage de définition de style. Parmi eux, la hauteur et la largeur sont les deux attributs de dimension les plus élémentaires, utilisés pour définir la hauteur et la largeur de l'élément. Cet article analysera ces deux propriétés en détail et fournira des exemples de code spécifiques. 1. Attribut Height L'attribut height est utilisé pour définir la hauteur d'un élément. Vous pouvez utiliser le pixel, le pourcentage ou

Les méthodes incluent la valeur de pixel, le pourcentage, l'unité em, l'unité rem, l'unité vw/vh, auto, fit-content, min-content, max-content. Introduction détaillée : 1. Valeur du pixel (px) : La valeur du pixel est fixe et sa largeur reste inchangée quelle que soit la façon dont la résolution de l'écran change. Par exemple : width : 300px ; 2. Pourcentage (%) : le pourcentage de largeur est relatif à la largeur de l'élément parent. Par exemple : largeur : 50 % ; 3, unité em, etc.

PHP ne peut pas obtenir le nom car lorsque les valeurs de nom et d'identifiant de l'élément de formulaire sont différentes, le navigateur ne peut pas le reconnaître. La solution : 1. Vérifiez si certains éléments de formulaire et éléments de cadre utilisent le nom ; se voir attribuer un identifiant mais pas un nom ; 3. Pour la case à cocher à sélection multiple, vous pouvez utiliser "join(',', $__POST['name'])" pour former des données.
