图片处理类 (改进版)
<?php #封装一个image类 class Image{ private static $info; #图片基本信息 private static $image; #内存中的图片 public function __construct($src){ #判断文件 if(!is_file($src)){ return false; } #如果不是文件,直接返回 //获取图片信息 $info = getimagesize($src); self::$info=array( 'width'=>$info[0], 'height'=>$info[1], 'type'=>image_type_to_extension($info[2],false), 'mime'=>$info['mime'] ); //获取图片信息 $type=self::$info['type']; $fun ="imagecreatefrom{$type}"; self::$image = $fun($src); } /** * @param int $width $height 应该在配置文件中声明使用,可取消参数 * @return 缩略图 图片资源 * 缩略图的形成与使用 */ public function thumb($width ,$height){ //新建镇色彩图片 $image_thumb =imagecreatetruecolor($width ,$height); #获取图片的宽高比 $src_m = self::$info['width'] / self::$info['height']; #源文件空格比 $dst_m = $width / $height; #缩略图宽高比 #源文件图片是 N:1 型的 宽不变, 改变高 if($src_m > $dst_m ){ $cha_width = $width; $cha_height = ceil($width / $src_m) ; }else{ #源文件图片是 1:N 型的 高不变,改变宽 $cha_width = floor($height * $src_m) ; $cha_height = $height ; } #对缩略图的其实位置进行重置 $dst_x = ($width - $cha_width) /2 ; $dst_y = ($height - $cha_height) /2 ; imagecopyresampled($image_thumb ,self::$image , $dst_x , $dst_y ,0 , 0, $cha_width , $cha_height ,self::$info['width'],self::$info['height']); #生成缩略图 self::$image =$image_thumb; // #显示缩略图图片 // self::show(self::$image); #保存缩略图 self::save(self::getNewName()); //销毁图片 imagedestroy($this->image_thumb); #返回缩略图名字 return self::getNewName(); } #水印的生成坐标 private static function setLocal($pos){ #对 pos 参数进行判断 , 指定相应的水印生成坐标 #水印图片在config 文件中记录 $conf['mark'] switch ($pos) { case 1: $x = 0; $y = 0; break ; case 2: default: $x = self::$info['width']-50; $y = self::$info['height']-50; #不该是20 这个定制, 应该改成水印图片的宽高 } return $local=array('x' => $x ,'y'=>$y); } #添加文字水印 public function fontMark($content ,$font_url ,$size,$angle){ #字体颜色 $col = imagecolorallocatealpha(self::$image,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255),20); #获取水印输出位置坐标 $local = self::setLocal(2); imagettftext(self::$image,$size,$angle,$local['x'],$local['y'],$col,$font_url,$content); #显示缩略图图片 self::show(self::$image); #保存文字水印 没有添加保存路径 self::save(self::getNewName()); #返回水印图片的名字 return self::getNewName(); } #添加图片水印 public function imageMark($url ,$alpha){ $info= getimagesize($url); #获取图片信息 $type=image_type_to_extension($info[2],false); $fun = "imagecreatefrom{$type}"; #获取水印输出位置坐标 $local = self::setLocal(2); $water = $fun($url); #水印图片 imagecopymerge(self::$image, $water, $local['x'], $local['y'],0 , 0,$info[0] , $info[1], 30); #销毁图片水印 imagedestroy($water); #显示缩略图图片 self::show(self::$image); #保存图片水印 没有添加保存路径 self::save(self::getNewName()); #返回水印图片的名字 return self::getNewName(); } #生成随机的 图片名字 /** * @return string 返回一个新的名字 * */ private static function getNewName(){ #获取一个时间 $str = time(); #获取随机字符串 $string = "qwertyuiopasdfghjklzxcvbnmQWERTYUIOASDFGHJKZXCVBNM1234567890"; for($i=0 ; $i<br> <p> 以上就介绍了图片处理类 (改进版),包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。</p> <p> </p>

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)

La raison de l'erreur est NameResolutionError(self.host,self,e)frome, qui est un type d'exception dans la bibliothèque urllib3. La raison de cette erreur est que la résolution DNS a échoué, c'est-à-dire le nom d'hôte ou l'adresse IP qui était. La tentative de résolution n'a pas pu être trouvée. Cela peut être dû au fait que l'adresse URL saisie est incorrecte ou que le serveur DNS est temporairement indisponible. Comment résoudre cette erreur Il peut y avoir plusieurs façons de résoudre cette erreur : Vérifiez si l'adresse URL saisie est correcte et assurez-vous qu'elle est accessible Assurez-vous que le serveur DNS est disponible, vous pouvez essayer d'utiliser la commande "ping" dans la ligne de commande pour tester si le serveur DNS est disponible Essayez d'accéder au site Web en utilisant l'adresse IP au lieu du nom d'hôte si vous êtes derrière un proxy

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.

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é

Avant d'introduire l'utilisation de self en Python, introduisons d'abord les classes et les instances en Python. Nous savons que les concepts les plus importants de l'orientation objet sont les classes et les instances. Les classes sont des modèles abstraits, comme les étudiants. représenté par une classe d’étudiants. Les instances sont des « objets » spécifiques créés à partir de classes. Chaque objet hérite des mêmes méthodes de la classe, mais ses données peuvent être différentes. 1. Prenons l'exemple de la classe Student. En Python, la classe est définie comme suit : classStudent(object):pass(Object) indique de quelle classe la classe hérite.

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

La fonction imagefilledrectangle() dessine un rectangle rempli. Syntaxe imagefilledrectangle($img,$x1,$y1,$x2,$y2,$color) Paramètres image Utilisez imagecreatetruecolor() pour créer une image vierge. x1La coordonnée x du point 1. y1 La coordonnée y du point 1. x2 x coordonnée du point 2. y2 La coordonnée y du point 2. couleur de remplissage de couleur. Valeur de retour La fonction imagefilledrectangle() est renvoyée avec succès

Compréhension et exemples de self en Python En Python, self est un paramètre spécial utilisé pour représenter l'objet instance de la classe elle-même. Grâce à self, nous pouvons accéder aux variables membres et aux méthodes de la classe dans la méthode de classe. Dans cet article, j'expliquerai le rôle du soi et comment l'utiliser correctement pour accéder aux membres d'une classe. Tout d’abord, comprenons le concept de soi. En Python, lors de la définition d'une classe, le premier paramètre est généralement self. Le paramètre self pointe vers l'instance de la classe
