image - Does anyone have a script to create a horizontal gradient (left to right) using PHP? -
मैं वर्तमान कोड का उपयोग कर रहा हूं।
& lt ;? शीर्ष लेख ("सामग्री-प्रकार: छवि / पीएनजी"); // उदाहरण: & lt; img src = "gradient.php? ऊंचाई = 600 और चौड़ाई = 100 और = प्रारंभ करें = 00FF00 और अंत = एफएफ 20000" / & gt; $ ऊंचाई = 100; $ चौड़ाई = 1; $ शुरू = '000000'; $ = 'FFFFFF' खत्म हो; निकालने ($ _ अनुरोध); // यूआरएल से वार्स का उपयोग करके अधिलेखित करें $ start_r = हेक्सडैक (उपस्ट्रस्ट ($ स्टार्ट, 0,2)); $ Start_g = hexdec (substr ($ शुरू, 2,2)); $ Start_b = hexdec (substr ($ शुरू, 4,2)); $ End_r = hexdec (substr ($ end, 0,2)); $ End_g = hexdec (substr ($ end, 2,2)); $ End_b = hexdec (substr ($ end, 4,2)); $ Image = @imagecreate ($ चौड़ाई, $ ऊँचाई); ($ Y = 0; $ y & lt; $ height; $ y ++) {के लिए ($ x = 0; $ x & lt; $ width; $ x ++) {यदि ($ start_r == $ end_r) $ new_r = $ start_r; $ अंतर = $ start_r- $ end_r; $ New_r = $ start_r-intval (($ अंतर / $ ऊंचाई) * $ y); अगर ($ start_g == $ end_g) $ new_g = $ start_g; $ अंतर = $ start_g- $ end_g; $ New_g = $ start_g- अंतराल (($ अंतर / $ ऊंचाई) * $ y); अगर ($ start_b == $ end_b) $ new_b = $ start_b; $ अंतर = $ start_b - $ end_b; $ New_b = $ start_b- अंतराल (($ अंतर / $ ऊंचाई) * $ y); $ Row_color = imagecolorresolve ($ छवि, $ new_r, $ new_g, $ new_b); imagesetpixel ($ छवि, $ x, $ y, $ row_color); }} Imagepng ($ छवि); imagedestroy ($ छवि); ? & Gt;
ऊपरी कोड ऊर्ध्वाधर (ऊपर से नीचे) ग्रेडिएंट बनाने में सही काम करता है, लेकिन मैं क्षैतिज लोगों को भी बनाने में सक्षम होना चाहता हूं। मुझे PHP के लिए बहुत अच्छी समझ है, लेकिन मैं अक्सर PHP छवि फ़ंक्शंस से बहुत अधिक बार काम नहीं करता हूं। अगर कोई मेरी मदद कर सकता है और इसे समझ सकता है तो मैं इसकी सराहना करता हूं!
यह कोड इसके लिए काम करेगा ऊर्ध्वाधर ढाल और इसे भी तेजी से बनाते हैं।
मैंने बेकार कोड पर टिप्पणी की है ताकि आप जान सकें कि क्या हटाना है।
के लिए ($ x = 0; $ x & lt; $ चौड़ाई; $ x ++) {/ * यदि ($ start_r == $ end_r) $ new_r = $ start_r; * / // ^ ^ ऊपर की रेखा बेकार है, $ new_r नीचे या तो किसी भी तरह से सेट किया जाएगा $ difference = $ start_r- $ end_r; $ New_r = $ start_r-intval (($ अंतर / $ चौड़ाई) * $ x); / * यदि ($ start_g == $ end_g) $ new_g = $ start_g; * / // ^ ^ ऊपर की रेखा बेकार है, $ new_g नीचे $ difference = $ start_g- $ end_g; $ New_g = $ start_g- अंतराल (($ अंतर / $ चौड़ाई) * $ x); / * यदि ($ start_b == $ end_b) $ new_b = $ start_b; * / // ^ ^ ऊपर की रेखा बेकार है, $ new_b नीचे या तो किसी भी तरह $ अंतर = $ start_b - $ end_b सेट किया जाएगा; $ New_b = $ start_b- अंतराल (($ अंतर / $ चौड़ाई) * $ x); $ New_color = imagecolorresolve ($ छवि, $ new_r, $ new_g, $ new_b); // ^ ^ के लिए $ row_color ($ y = 0; $ y & lt; $ height; $ y ++) का इस्तेमाल किया गया था {imagesetpixel ($ image, $ x, $ y, $ new_color); }}
Comments
Post a Comment