मैं एक आरजीबी रंग कोड से 1 पीएक्स छवि (जेपीजी, पीएनजी और जीआईएफ) द्वारा 1 पीएक्स बनाने के लिए एक और अधिक प्रभावी तरीका जानने की कोशिश कर रहा हूं, php में ।आरजीबी से 1 पीएक्स बेस 64 एन्कोडेड डेटा यूरी में PHP को कैसे परिवर्तित करें
नीचे दिया गया उदाहरण ऐसा करने की एक विधि को दिखाता है लेकिन मैं किसी प्रकार के एल्गोरिदम की उम्मीद कर रहा था जो मुझे किसी भी पुस्तकालय या PHP एक्सटेंशन को लोड किए बिना समान आउटपुट प्राप्त करेगा।
उदाहरण:
function rgbToDataUri($r,$g,$b,$type)
{
$im = imageCreateTrueColor(1, 1);
imageFill($im, 0, 0, ImageColorAllocate($im,$r,$g,$b));
ob_start();
switch($type)
{
case 'gif':
imageGif($im);
break;
case 'jpg':
case 'jpeg':
imageJpeg($im);
break;
default:
imagePng($im);
}
$img = ob_get_contents();
ob_end_clean();
return 'data:image/' . $type . ';base64,' . base64_encode($img);
}
echo rgbToDataUri(0,0,0,'gif');
आउटपुट:
data:image/gif;base64,R0lGODdhAQABAIAAAAQCBAAAACwAAAAAAQABAAACAkQBADs=
मेरे लक्ष्यों (प्राथमिकता क्रम में) कर रहे हैं:
- कम स्मृति की खपत
- उच्च प्रोसेसर दक्षता
- प्रसंस्करण की उच्च गति
आवश्यकताओं के समर्थन GIF, JPG और PNG शामिल हैं। इन एकल पिक्सेल छवियों में से 20 - 50 से कहीं भी प्रत्येक अनुरोध के साथ बनाया जाएगा (प्रत्येक पिक्सेल दूसरों से स्वतंत्र है)।
1px एकल रंग छवि के लिए बाइनरी कैसे उत्पन्न करता है?
आपका कोड उतना सरल/सीधा है जितना है। आप लगभग निश्चित रूप से हाथ से सभी विभिन्न छवि प्रारूपों को लागू नहीं करना चाहते हैं। – Amber
बीएमपी आउटपुट करने के बारे में क्या? एक पिक्सेल के लिए यह केवल तीनों प्रारूपों के रूप में उतना ही कुशल है और शायद यह काफी आसान है ताकि आप बाइनरी को थोड़ा सा स्थानांतरण और 'पैकिंग' के बिना सीधे काम कर सकें। – deceze
@amber दुर्भाग्यवश, सादगी इस विशेष अभ्यास का लक्ष्य नहीं है। –