कार्यों के लिए पुरालेख

छवियाँ PHP का प्रयोग में एकाधिक छवि कैसे एक विभाजित करने के लिए

में पोस्ट कार्यों , PHP अगस्त पर ShortLikeAFox द्वारा 26, 2008

ताकि आप कई छोटे छवियों में एक बड़ी छवि को तोड़ना चाहते हो? नो प्रौब्लम. यह एक अस्पष्ट समस्या की तरह लग रहे हो सकता है, लेकिन वहाँ रहे हैं कई कारणों से आप ऐसा करना चाहता हूँ. शायद आप चाहते हैं किसी दृश्य को बनाने स्लाइडिंग पहेली . या शायद तुम एक चल रहे हैं अद्वितीय WordPress विषय . या शायद तुम किसी तरह का एक कोलाज बनाना चाहते हैं. यह वास्तव में कोई फर्क नहीं पड़ता तुम क्यों छोटे छवि में एक छवि को विभाजित करना चाहते हैं, PHP इस कार्य को आसान बनाता है. jpegs के साथ ही सौदों से नीचे उदाहरण. समारोह में बदलने के लिए छवियों के अन्य प्रकार के साथ सौदा है कि मुश्किल नहीं होगा.

<? Php
/ / इस समारोह पंक्तियों और स्तंभों को समान आकार का एक संख्या में विभाजित होगा एक छवि में.
समारोह split_image (number_of_rows $ number_of_cols, $ path_to_image, $ FILE_NAME) (

/ / Number_of_rows = $ पंक्तियों की # तुम चाहते हो;
/ / Number_of_cols = $ cols आप चाहते हैं की #
$ / / = छवि फ़ोल्डर में है, की तरह कुछ: / घर / सामग्री / html / / अपलोड करने के लिए उपयोगकर्ता नाम सूची पथ path_to_image /
$ / / = छवि का फ़ाइलनाम FILE_NAME: archery.jpg, आदि

/ / पार्स पथ विस्तार के लिए
$file_name); $ जानकारी = pathinfo ($ path_to_image. $ FILE_NAME);

/ / Jpeg बनाने के लिए यकीन है कि एक के साथ काम हम कर रहे हैं
($info[ 'extension' ]) == 'jpg' ) || ( strtolower ($info[ 'extension' ]) == 'jpeg' ) ){ (अगर (strtolower ($] [जानकारी एक्सटेंशन ') ==' jpg) | | (strtolower ($] [जानकारी एक्सटेंशन ') == jpeg')) (

/ / लोड छवि और छवि आकार पाने के लिए
); $ स्रोत = imagecreatefromjpeg ("$ (path_to_image $ () FILE_NAME"));
$ चौड़ाई = imagesx ($) स्रोत, / / चौड़ाई खोजें
$ ऊंचाई = imagesy ($ स्रोत); / / ऊंचाई खोजें
व्यक्ति = $ $ $ segment_width चौड़ाई / वर्गों number_of_cols चौड़ाई का निर्धारण, / /
व्यक्ति = $ $ $ segment_height ऊँचाई / वर्गों number_of_rows ऊंचाई Determine; / /

डॉलर के लिए (कर्नल = 0; $ कर्नल + $ <number_of_cols; $ कर्नल +)
(

डॉलर के लिए (पंक्ति = 0; $ पंक्ति number_of_rows <$, $ पंक्ति + +)
(

, $col, $row ); $ Sprintf Fn = ("img%% 02d_ पंक्ति 02d.jpg" $ कर्नल, $);
); //I print the image name here, so that the process shows itself as it runs ) गूंज ("$ fn"; / / मैं यहाँ मुद्रित छवि नाम है, तो प्रक्रिया से पता चलता है चलाता है खुद के रूप में यह है कि
im @ imagecreatetruecolor = $ ($ segment_width, $ segment_height);
segment_width imagecopyresized ($ im, $ स्रोत, 0, 0, $ * कर्नल, $ पंक्ति * $ segment_height, segment_width, $ segment_height, segment_width, $ segment_height);
$ "= फ़ाइल test.jpg";
/ Images / सहेजें
, 100 )) //The destination will be something like /home/content/c/h/d/images/$fn imagejpeg अगर (($ im, "INSERT पर्यटन स्थल के यहाँ", 100)) / / गंतव्य Fn $ / images जाएगा जैसे कुछ / घर / सामग्री / c / ज / घ

(गूंज "किया गया है <br/>!");

)

)

)

)

>?

छवियाँ PHP का प्रयोग कैसे थंबनेल बनाएँ

में पोस्ट कार्यों , PHP 2008, ShortLikeAFox द्वारा 22 जुलाई

तो तुम एक दिया छवि से थम्बनेल बनाने के लिए ... चाहते PHP इस कार्य को आसान बनाता है. मैं पहली बार एक साइट मैं मदद प्रशासन पर उपयोगकर्ताओं द्वारा अपलोड की गई छवियों के साथ सौदा नीचे समारोह लिखा. इस साइट पर अपलोड की गई छवियाँ jpegs, pngs, या gifs है, तो कर सकते हैं मैं एक के लिए सभी तीन से निपटने के लिए समारोह में लिखने की थी. इस कोड समारोह है एक के बंद आधारित मूलतः पर पाया webcheatsheet.com

यह कैसे करना है:

समारोह createThumbs (pathToImages, $ fname, $ pathToThumbs, $ thumbWidth)
(

/ / पार्स पथ विस्तार के लिए

$) जानकारी = pathinfo ($ $. PathToImages fname;
/ / जारी सिर्फ अगर यह एक JPEG छवि है
($info['extension']) == 'jpeg') ) (अगर (strtolower ($] [जानकारी एक्सटेंशन ') ==' jpg) | | (strtolower ($] [जानकारी एक्सटेंशन ') == jpeg'))
(

/ / लोड छवि और छवि आकार पाने के लिए
img = $ imagecreatefromjpeg ("$ (pathToImages)) ($ fname");
$ चौड़ाई = imagesx ($ img);
$ ऊंचाई = imagesy ($ img);

/ / थंबनेल आकार की गणना
$ New_width = $ thumbWidth;
$ = $ New_height मंजिल ($ ऊँचाई * (thumbWidth / $ चौड़ाई));

/ / छवि बनाने के लिए एक नया अस्थायी
$ $ Tmp_img = imagecreatetruecolor ($ new_width, new_height);

/ / छवि की प्रतिलिपि छवि में पुराने और नए आकार
$ Imagecopyresized (tmp_img, $ img, 0, 0, 0, 0, $ new_width, $ new_height, चौड़ाई, $ ऊंचाई);

/ / एक फ़ाइल में थंबनेल को बचाने के
tmp_img imagejpeg $ ("), (" $ pathToThumbs ()) $ fname;

)

अगर (strtolower ($] ['एक्सटेंशन' जानकारी ') == gif')
(

/ / लोड छवि और छवि आकार पाने के लिए
$ Imagecreatefromgif img = ("($ pathToImages)) ($ fname");
$ चौड़ाई = imagesx ($ img);
$ ऊंचाई = imagesy ($ img);

/ / थंबनेल आकार की गणना
$ New_width = $ thumbWidth;
$ = $ New_height मंजिल ($ ऊँचाई * (thumbWidth / $ चौड़ाई));

/ / छवि बनाने के लिए एक नया अस्थायी
$ $ Tmp_img = imagecreatetruecolor ($ new_width, new_height);

/ / छवि की प्रतिलिपि छवि में पुराने और नए आकार
$ Imagecopyresized (tmp_img, $ img, 0, 0, 0, 0, $ new_width, $ new_height, चौड़ाई, $ ऊंचाई);

/ / एक फ़ाइल में थंबनेल को बचाने के
tmp_img imagegif $ ("), (" $ pathToThumbs ()) $ fname;

)

अगर (strtolower ($] [जानकारी एक्सटेंशन ') == png')
(

/ / लोड छवि और छवि आकार पाने के लिए
img = $ imagecreatefrompng ("$ (pathToImages)) ($ fname");
$ चौड़ाई = imagesx ($ img);
$ ऊंचाई = imagesy ($ img);

/ / थंबनेल आकार की गणना
$ New_width = $ thumbWidth;
$ = $ New_height मंजिल ($ ऊँचाई * (thumbWidth / $ चौड़ाई));

/ / छवि बनाने के लिए एक नया अस्थायी
$ $ Tmp_img = imagecreatetruecolor ($ new_width, new_height);

/ / छवि की प्रतिलिपि छवि में पुराने और नए आकार
$ Imagecopyresized (tmp_img, $ img, 0, 0, 0, 0, $ new_width, $ new_height, चौड़ाई, $ ऊंचाई);

/ / एक फ़ाइल में थंबनेल को बचाने के
tmp_img imagepng ($, $ () pathToThumbs) ($ fname) ";

)

)

यह कैसे काम करता है

समारोह createThumbs चार बहस लेता है.

  • - $ PathToImages> / अपलोड सूची पथ / फ़ोल्डर छवि html अंदर यह हो सकता है फ़ाइल को देखने के लिए कुछ की तरह इस: / घर / सामग्री / उपयोगकर्ता नाम / /
  • $ fname -> फ़ाइल नाम: pic1.gif, johnny.jpg, आदि ...
  • - $ PathToThumbs> फ़ोल्डर के लिए पथ आप थंबनेल छवि चाहते करने के लिए आप अंदर मत हो pathToImages चाहते हैं के रूप में करने के लिए इस पथ ही हो $, क्योंकि थंबनेल छवि मूल छवि के नाम के समान होगा.
  • $ thumbWidth -> इस चौड़ाई है कि आप थंबनेल चाहते पिक्सल में होना है.

एक महत्वपूर्ण ध्यान दें कि मैं यहाँ करना चाहिए कि इस समारोह के स्थान पर कुछ नहीं, फ़ाइल एक्सटेंशन की जाँच के अलावा, यकीन है कि छवि फ़ाइलों को कुछ भी नहीं दुर्भावनापूर्ण शामिल कर दिया है. के बाद से फाइल createThumbs () पहले से ही किया गया के साथ काम करता अपलोड यह माना जाता है कि फाइल ठीक से छानबीन की है.

पहली बात) createThumbs (फोन करता है pathinfo () . pathinfo () एक सरणी में एक पथ के भागों टूटता है. यह हमारे लिए उपयोगी है, क्योंकि हम फाइल एक्सटेंशन की जरूरत है ठीक से थम्बनेल बनाने के लिए. अगली createThumbs () चेक अगर हम एक jpeg के साथ काम कर रहे हैं देखने के लिए. यदि मूल फ़ाइल एक JPEG createThumbs है के साथ बनाता है एक छवि मूल छवि के आधार पर नए imagecreatefromjpeg () . अगले कदम है (छवि प्राप्त करने के लिए इस की ऊंचाई और चौड़ाई imagesx () , imagesy () ). ThumbWidth $ का उपयोग करना और मूल चौड़ाई और ऊंचाई createThumbs () के अनुपात नई चौड़ाई और थम्बनेल की ऊंचाई सेट. ) का प्रयोग इन नए अनुपात createThumbs (के साथ बनाता है एक "रिक्त" छवि थंबनेल जाएगा कि ऊंचाई की चौड़ाई और उसी imagecreatetruecolor () . imagecopyresized () बनाया है तो बस आकार का इस्तेमाल किया "रिक्त छवि को बचाने और उस में". imagecopyresized () इसे ही दिख सकता है पैरामीटरों का एक बहुत लेता है, लेकिन अगर तुम प्रलेखन पर एक नज़र रखना यह सच है कि जटिल नहीं है. अब है कि थम्बनेल एक सच रंग छवि सभी createThumbs के रूप में मौजूद करने की जरूरत है एक jpeg में फाइल कन्वर्ट है. ऐसा करने के लिए imagejpeg () कहा जाता है.

है कि कैसे समारोह jpegs के लिए काम करता है. वहाँ के लिए कम से कम मतभेद रहे हैं और PNGs. Gifs..