আপনি অন্য সার্ভার থেকে সরাসরি কোনও ক্যানভাসে চিত্রগুলি আঁকতে পারবেন না এবং তারপরে ব্যবহার করতে পারবেন না getImageData
। এটি একটি সুরক্ষা সমস্যা এবং ক্যানভাসটিকে "কলঙ্কিত" হিসাবে বিবেচনা করা হবে।
পিএইচপি ব্যবহার করে আপনার সার্ভারে চিত্রের একটি অনুলিপি সংরক্ষণ করে কেবল নতুন চিত্রটি লোড করা কি আপনার পক্ষে কাজ করবে? উদাহরণস্বরূপ, আপনি পিএইচপি স্ক্রিপ্টে ইউআরএল প্রেরণ করতে এবং এটি আপনার সার্ভারে সংরক্ষণ করতে পারেন, তারপরে আপনার জাভাস্ক্রিপ্টে নতুন ফাইলের নামটি এভাবে ফিরিয়ে দিন:
<?php //The name of this file in this example is imgdata.php
$url=$_GET['url'];
// prevent hackers from uploading PHP scripts and pwning your system
if(!@is_array(getimagesize($url))){
echo "path/to/placeholderImage.png";
exit("wrong file type.");
}
$img = file_get_contents($url);
$fn = substr(strrchr($url, "/"), 1);
file_put_contents($fn,$img);
echo $fn;
?>
আপনি এই জাতীয় কিছু অ্যাজাক্স জাভাস্ক্রিপ্ট সহ পিএইচপি স্ক্রিপ্ট ব্যবহার করবেন:
xi=new XMLHttpRequest();
xi.open("GET","imgdata.php?url="+yourImageURL,true);
xi.send();
xi.onreadystatechange=function() {
if(xi.readyState==4 && xi.status==200) {
img=new Image;
img.onload=function(){
ctx.drawImage(img, 0, 0, canvas.width, canvas.height);
}
img.src=xi.responseText;
}
}
আপনি যদি ব্যবহার getImageData
ক্যানভাসে করেন তবে এটি ঠিকঠাক কাজ করবে।
বিকল্পভাবে, আপনি যদি পুরো চিত্রটি সংরক্ষণ করতে না চান, আপনি আপনার পিএইচপি স্ক্রিপ্টে এক্স & ওয়্যার স্থানাঙ্কগুলি পাস করতে পারেন এবং সেই দিকের পিক্সেলের আরজিবা মান গণনা করতে পারেন। আমি মনে করি পিএইচপি-তে এই জাতীয় চিত্র প্রক্রিয়াকরণ করার জন্য ভাল লাইব্রেরি রয়েছে।
আপনি যদি এই পদ্ধতির ব্যবহার করতে চান তবে এটি প্রয়োগ করতে আপনার যদি সহায়তার দরকার হয় তবে আমাকে জানান।
সম্পাদনা -১: পীপগুলি উল্লেখ করেছে যে পিএইচপি স্ক্রিপ্টটি উদ্ভাসিত হয়েছে এবং ইন্টারনেটকে সম্ভবত এটি দূষিতভাবে ব্যবহার করার অনুমতি দেয়। এটি পরিচালনা করার জন্য কয়েক মিলিয়ন উপায় রয়েছে, ইউআরএল অবধি বিভ্রান্ত করার অন্যতম সহজতম উপায় ... আমি মনে করি সুরক্ষিত পিএইচপি পদ্ধতিগুলি পৃথক গুগল প্রাপ্য; পি
সম্পাদনা -২: জনপ্রিয় চাহিদা অনুসারে, আমি এটি একটি চিত্র এবং পিএইচপি স্ক্রিপ্ট নয় তা নিশ্চিত করার জন্য একটি চেক যুক্ত করেছি (থেকে: পিএইচপি ফাইলটি কোনও চিত্র কিনা তা পরীক্ষা করে দেখুন )।