Heim Backend-Entwicklung PHP-Tutorial PHP中实现图片的锐化_PHP

PHP中实现图片的锐化_PHP

Jun 01, 2016 pm 12:33 PM
if src 图片 实现

没错,PHP也可以实现图片的锐化、模糊、浮雕等操作。因为PHP作为网页脚本特长不在此,但在对效率要求不高、又不想使用CGI的情况下,让我们来看看该怎样做。

  下面内容已经被收录在CSDN中PHP的FAQ里:http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=188506w


  
//读取图像的类型 
//1  =  GIF,  2  =  JPG,  3  =  PNG,  4  =  SWF,  5  =  PSD,  6  =  BMP,  7  =  TIFF(intel  byte  order),  8  =  TIFF(motorola  byte  order),  9  =  JPC,  10  =  JP2,  11  =  JPX,  12  =  JB2,  13  =  SWC,  14  =  IFF 
function  GetImageType($filename)  {return  (($imginfo=@getimagesize($filename))!=null  ?  $imginfo[2]  :  null);} 
 
//图像锐化 
//$scr_im:图像资源句柄,$degree:锐化度数 
function  Sharp(&$src_im,  &$dst_im,  $degree) 

       $src_x  =  imagesx($src_im); 
       $src_y  =  imagesy($src_im); 
       //$dst_im  =  imagecreate($src_x,  $src_y); 
       //imagecopy($dst_im,  $src_im,  0,  0,  0,  0,  $src_x,  $src_y); 
       $cnt  =  0; 
       for  ($x=1;  $x               for  ($y=1;  $y               { 
                       $src_clr1  =  imagecolorsforindex($src_im,  imagecolorat($src_im,  $x-1,  $y-1)); 
                       $src_clr2  =  imagecolorsforindex($src_im,  imagecolorat($src_im,  $x,  $y)); 
                       $r  =  intval($src_clr2["red"]+$degree*($src_clr2["red"]-$src_clr1["red"])); 
                       $g  =  intval($src_clr2["green"]+$degree*($src_clr2["green"]-$src_clr1["green"])); 
                       $b  =  intval($src_clr2["blue"]+$degree*($src_clr2["blue"]-$src_clr1["blue"])); 
                       $r  =  min(255,  max($r,  0)); 
                       $g  =  min(255,  max($g,  0)); 
                       $b  =  min(255,  max($b,  0)); 
                       //echo  "r:$r,  g:$g,  b:$b
"; 
                       if  (($dst_clr=imagecolorexact($dst_im,  $r,  $g,  $b))==-1) 
                               $dst_clr  =  Imagecolorallocate($dst_im,  $r,  $g,  $b); 
                       $cnt++; 
                       if  ($dst_clr==-1)  die("color  allocate  faile  at  $x,  $y  ($cnt)."); 
                       imagesetpixel($dst_im,  $x,  $y,  $dst_clr); 
               } 
       return  $dst_im; 

 
$ImageFunctions  =  array("imagecreatefromwbmp",  "imagecreatefromgif",  "imagecreatefromjpeg",  "imagecreatefrompng"); 
 
if  (!empty($_POST["ImageName"])) 

        set_time_limit(10*60); 
       if  (($ImageType=GetImageType($_POST["ImageName"]))==false) 
               die("指定文件不存在或不是有效的图片或不支持类型!"); 
       if  ($ImageType==6)  $ImageType  =  0; 
       if  ($ImageType>3)  die("不支持的图片类型!"); 
       $im1  =  $ImageFunctions[$ImageType]($_POST["ImageName"]); 
       $im2  =  $ImageFunctions[$ImageType]($_POST["ImageName"]); 
       //print_r(imagecolorsforindex($im,  imagecolorat($im,  10,  10))); 
       Sharp($im1,  $im2,  $_POST["Degree"]); 
       header("Content-type:  image/png"); 
       imagepng($im2); 
       imagedestroy($im1); 
       imagedestroy($im2); 

 
?> 

 
请输入图片的本地路径或URL:
 
"  size=32>
 
锐化度数(例:0.6、3.0):
 
">
 
 
 
 
  --------------------------- 
 
  改了一下,省了一个$im: 


 function  Sharp2(&$im,  $degree) 

       $cnt  =  0; 
       for  ($x=imagesx($im)-1;  $x>0;  $x--) 
               for  ($y=imagesy($im)-1;  $y>0;  $y--) 
               { 
                       $clr1  =  imagecolorsforindex($im,  imagecolorat($im,  $x-1,  $y-1)); 
                       $clr2  =  imagecolorsforindex($im,  imagecolorat($im,  $x,  $y)); 
                       $r  =  intval($clr2["red"]+$degree*($clr2["red"]-$clr1["red"])); 
                       $g  =  intval($clr2["green"]+$degree*($clr2["green"]-$clr1["green"])); 
                       $b  =  intval($clr2["blue"]+$degree*($clr2["blue"]-$clr1["blue"])); 
                       $r  =  min(255,  max($r,  0)); 
                       $g  =  min(255,  max($g,  0)); 
                       $b  =  min(255,  max($b,  0)); 
                       //echo  "r:$r,  g:$g,  b:$b
"; 
                       if  (($new_clr=imagecolorexact($im,  $r,  $g,  $b))==-1) 
                               $new_clr  =  Imagecolorallocate($im,  $r,  $g,  $b); 
                       $cnt++; 
                       if  ($new_clr==-1)  die("color  allocate  faile  at  $x,  $y  ($cnt)."); 
                       imagesetpixel($im,  $x,  $y,  $new_clr); 
               } 
}
 

 

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie kann das Problem des automatischen Speicherns von Bildern beim Veröffentlichen auf Xiaohongshu gelöst werden? Wo ist das beim Posten automatisch gespeicherte Bild? Wie kann das Problem des automatischen Speicherns von Bildern beim Veröffentlichen auf Xiaohongshu gelöst werden? Wo ist das beim Posten automatisch gespeicherte Bild? Mar 22, 2024 am 08:06 AM

Durch die kontinuierliche Entwicklung der sozialen Medien ist Xiaohongshu zu einer Plattform für immer mehr junge Menschen geworden, auf der sie ihr Leben teilen und schöne Dinge entdecken können. Viele Benutzer haben beim Posten von Bildern Probleme mit der automatischen Speicherung. Wie kann man dieses Problem lösen? 1. Wie kann das Problem des automatischen Speicherns von Bildern beim Veröffentlichen auf Xiaohongshu gelöst werden? 1. Cache leeren Zuerst können wir versuchen, die Cache-Daten von Xiaohongshu zu löschen. Die Schritte sind wie folgt: (1) Öffnen Sie Xiaohongshu und klicken Sie auf die Schaltfläche „Mein“ in der unteren rechten Ecke. (2) Suchen Sie auf der persönlichen Center-Seite nach „Einstellungen“ und klicken Sie darauf. (3) Scrollen Sie nach unten und suchen Sie nach „; Option „Cache löschen“. Klicken Sie auf „OK“. Nachdem Sie den Cache geleert haben, geben Sie Xiaohongshu erneut ein und versuchen Sie, Bilder zu posten, um zu sehen, ob das Problem mit dem automatischen Speichern behoben ist. 2. Aktualisieren Sie die Xiaohongshu-Version, um sicherzustellen, dass Ihr Xiaohongshu

Wie poste ich Bilder in TikTok-Kommentaren? Wo ist der Zugang zu den Bildern im Kommentarbereich? Wie poste ich Bilder in TikTok-Kommentaren? Wo ist der Zugang zu den Bildern im Kommentarbereich? Mar 21, 2024 pm 09:12 PM

Mit der Beliebtheit von Douyin-Kurzvideos sind die Benutzerinteraktionen im Kommentarbereich bunter geworden. Einige Benutzer möchten Bilder in Kommentaren teilen, um ihre Meinung oder Gefühle besser auszudrücken. Wie postet man also Bilder in TikTok-Kommentaren? Dieser Artikel beantwortet diese Frage ausführlich und gibt Ihnen einige entsprechende Tipps und Vorsichtsmaßnahmen. 1. Wie poste ich Bilder in Douyin-Kommentaren? 1. Öffnen Sie Douyin: Zuerst müssen Sie die Douyin-App öffnen und sich bei Ihrem Konto anmelden. 2. Suchen Sie den Kommentarbereich: Suchen Sie beim Durchsuchen oder Posten eines kurzen Videos die Stelle, an der Sie einen Kommentar abgeben möchten, und klicken Sie auf die Schaltfläche „Kommentieren“. 3. Geben Sie Ihren Kommentarinhalt ein: Geben Sie Ihren Kommentarinhalt in den Kommentarbereich ein. 4. Wählen Sie, ob Sie ein Bild senden möchten: In der Benutzeroberfläche zur Eingabe von Kommentarinhalten sehen Sie eine Schaltfläche „Bild“ oder eine Schaltfläche „+“. Klicken Sie darauf

6 Möglichkeiten, Bilder auf dem iPhone schärfer zu machen 6 Möglichkeiten, Bilder auf dem iPhone schärfer zu machen Mar 04, 2024 pm 06:25 PM

Die neuesten iPhones von Apple halten Erinnerungen mit gestochen scharfen Details, Sättigung und Helligkeit fest. Manchmal kann es jedoch zu Problemen kommen, die dazu führen können, dass das Bild weniger klar aussieht. Während der Autofokus bei iPhone-Kameras große Fortschritte gemacht hat und es Ihnen ermöglicht, schnell Fotos aufzunehmen, kann die Kamera in bestimmten Situationen versehentlich auf das falsche Motiv fokussieren, wodurch das Foto in unerwünschten Bereichen unscharf wird. Wenn Ihre Fotos auf Ihrem iPhone unscharf wirken oder es ihnen insgesamt an Schärfe mangelt, soll Ihnen der folgende Beitrag dabei helfen, sie schärfer zu machen. So machen Sie Bilder auf dem iPhone klarer [6 Methoden] Sie können versuchen, Ihre Fotos mit der nativen Foto-App zu bereinigen. Wenn Sie mehr Funktionen und Optionen wünschen

So lassen Sie PPT-Bilder einzeln erscheinen So lassen Sie PPT-Bilder einzeln erscheinen Mar 25, 2024 pm 04:00 PM

In PowerPoint ist es eine gängige Technik, Bilder einzeln anzuzeigen, was durch das Festlegen von Animationseffekten erreicht werden kann. In dieser Anleitung werden die Schritte zur Implementierung dieser Technik detailliert beschrieben, einschließlich der grundlegenden Einrichtung, des Einfügens von Bildern, des Hinzufügens von Animationen sowie des Anpassens der Reihenfolge und des Timings der Animationen. Darüber hinaus stehen erweiterte Einstellungen und Anpassungen zur Verfügung, z. B. die Verwendung von Triggern, das Anpassen von Animationsgeschwindigkeit und -reihenfolge sowie die Vorschau von Animationseffekten. Durch Befolgen dieser Schritte und Tipps können Benutzer ganz einfach Bilder so einrichten, dass sie in PowerPoint nacheinander angezeigt werden, wodurch die visuelle Wirkung der Präsentation verbessert und die Aufmerksamkeit des Publikums erregt wird.

So konvertieren Sie PDF-Dokumente mit Foxit PDF Reader in JPG-Bilder. - So konvertieren Sie PDF-Dokumente mit Foxit PDF Reader in JPG-Bilder So konvertieren Sie PDF-Dokumente mit Foxit PDF Reader in JPG-Bilder. - So konvertieren Sie PDF-Dokumente mit Foxit PDF Reader in JPG-Bilder Mar 04, 2024 pm 05:49 PM

Verwenden Sie auch die Foxit PDF Reader-Software? Wissen Sie, wie Foxit PDF Reader PDF-Dokumente in JPG-Bilder konvertiert? Für diejenigen, die sich für die Konvertierungsmethode interessieren jpg-Bilder, kommen Sie bitte vorbei und schauen Sie sich unten um. Starten Sie zunächst Foxit PDF Reader, suchen Sie dann in der oberen Symbolleiste nach „Funktionen“ und wählen Sie dann die Funktion „PDF an andere“ aus. Öffnen Sie als Nächstes eine Webseite namens „Foxit PDF Online Conversion“. Klicken Sie auf die Schaltfläche „Anmelden“ oben rechts auf der Seite, um sich anzumelden, und aktivieren Sie dann die Funktion „PDF zu Bild“. Klicken Sie dann auf die Schaltfläche „Hochladen“ und fügen Sie die PDF-Datei hinzu, die Sie in ein Bild konvertieren möchten. Klicken Sie nach dem Hinzufügen auf „Konvertierung starten“.

Wie schreibe ich if in C-Sprache, um mehrere Bedingungen zu beurteilen? Wie schreibe ich if in C-Sprache, um mehrere Bedingungen zu beurteilen? Mar 25, 2024 pm 03:24 PM

In der C-Sprache wird die if-Anweisung normalerweise verwendet, um einen bestimmten Codeblock basierend auf einer einzelnen Bedingung auszuführen. Es können jedoch mehrere Bedingungen kombiniert werden, um mithilfe logischer Operatoren wie &&, || und ! eine Entscheidung zu treffen. Einschließlich der Verwendung von logischem UND (&&) zur Beurteilung mehrerer Bedingungen, der Verwendung von logischem ODER (||) zur Beurteilung mindestens einer Bedingung, der Verwendung von logischem NICHT (!) zur Beurteilung der Negation einer einzelnen Bedingung sowie der Verschachtelung von if-Anweisungen und der Verwendung von Klammern um die Priorität zu klären.

Wie implementiert man die doppelte WeChat-Anmeldung auf Huawei-Mobiltelefonen? Wie implementiert man die doppelte WeChat-Anmeldung auf Huawei-Mobiltelefonen? Mar 24, 2024 am 11:27 AM

Wie implementiert man die doppelte WeChat-Anmeldung auf Huawei-Mobiltelefonen? Mit dem Aufkommen der sozialen Medien ist WeChat zu einem unverzichtbaren Kommunikationsmittel im täglichen Leben der Menschen geworden. Viele Menschen können jedoch auf ein Problem stoßen: Sie können sich gleichzeitig auf demselben Mobiltelefon bei mehreren WeChat-Konten anmelden. Für Huawei-Mobiltelefonbenutzer ist es nicht schwierig, eine doppelte WeChat-Anmeldung zu erreichen. In diesem Artikel wird erläutert, wie eine doppelte WeChat-Anmeldung auf Huawei-Mobiltelefonen erreicht wird. Erstens bietet das EMUI-System, das mit Huawei-Mobiltelefonen geliefert wird, eine sehr praktische Funktion – das doppelte Öffnen von Anwendungen. Durch die doppelte Öffnungsfunktion der Anwendung können Benutzer gleichzeitig

So ordnen Sie zwei Bilder nebeneinander in einem WPS-Dokument an So ordnen Sie zwei Bilder nebeneinander in einem WPS-Dokument an Mar 20, 2024 pm 04:00 PM

Bei der Verwendung der WPS-Bürosoftware haben wir festgestellt, dass nicht nur ein Formular verwendet wird, sondern Tabellen und Bilder zum Text hinzugefügt werden können, auch Bilder zur Tabelle usw. hinzugefügt werden können. Diese werden alle zusammen verwendet, um den Inhalt des gesamten Dokuments zu erstellen sehen reichhaltiger aus, wenn Sie zwei Bilder in das Dokument einfügen müssen und diese nebeneinander angeordnet werden müssen. Unser nächster Kurs kann dieses Problem lösen: wie man zwei Bilder nebeneinander in einem WPS-Dokument platziert. 1. Zuerst müssen Sie die WPS-Software öffnen und das Bild finden, das Sie anpassen möchten. Klicken Sie mit der linken Maustaste auf das Bild und eine Menüleiste wird angezeigt. Wählen Sie „Seitenlayout“. 2. Wählen Sie beim Textumbruch „Enger Umbruch“ aus. 3. Nachdem bestätigt wurde, dass bei allen benötigten Bildern „Enger Textumbruch“ eingestellt ist, können Sie die Bilder an die entsprechende Position ziehen und auf das erste Bild klicken.

See all articles