আমি জাভাস্ক্রিপ্ট এবং ক্যানভাস উপাদান ব্যবহার করে ক্লায়েন্টের পাশে একটি থাম্বনেইল চিত্র তৈরি করার চেষ্টা করছি, তবে আমি যখন চিত্রটি নীচে সঙ্কুচিত করি তখন এটি দেখতে ভয়ঙ্কর লাগে। দেখে মনে হচ্ছে এটি ফটোশপটিতে পুনর্নির্মাণের সেটটি বাইকুবিকের পরিবর্তে 'নিকটবর্তী নিকটবর্তী' এ সেট করা হয়েছে। আমি এটি দেখতে সঠিকভাবে পাওয়া সম্ভব জানি কারণ এই সাইটটি এটি একটি ক্যানভাস ব্যবহার করে ঠিকঠাক করতে পারে। তারা "[উত্স]" লিঙ্কে দেখানো মত একই কোড ব্যবহার করার চেষ্টা করেছি, তবে এটি এখনও ভয়ঙ্কর দেখাচ্ছে। আমি কি অনুপস্থিত কিছু আছে, কিছু সেটিং যা সেট করা প্রয়োজন?
সম্পাদনা করুন:
আমি একটি জেপিজিকে পুনরায় আকার দেওয়ার চেষ্টা করছি। আমি লিঙ্কযুক্ত সাইটে এবং ফটোশপে একই জেপিজিকে পুনরায় আকার দেওয়ার চেষ্টা করেছি এবং ডাউনসাইজ করার সময় এটি দুর্দান্ত দেখাবে।
এখানে প্রাসঙ্গিক কোড:
reader.onloadend = function(e)
{
var img = new Image();
var ctx = canvas.getContext("2d");
var canvasCopy = document.createElement("canvas");
var copyContext = canvasCopy.getContext("2d");
img.onload = function()
{
var ratio = 1;
if(img.width > maxWidth)
ratio = maxWidth / img.width;
else if(img.height > maxHeight)
ratio = maxHeight / img.height;
canvasCopy.width = img.width;
canvasCopy.height = img.height;
copyContext.drawImage(img, 0, 0);
canvas.width = img.width * ratio;
canvas.height = img.height * ratio;
ctx.drawImage(canvasCopy, 0, 0, canvasCopy.width, canvasCopy.height, 0, 0, canvas.width, canvas.height);
};
img.src = reader.result;
}
EDIT2:
দেখে মনে হচ্ছে আমার ভুল হয়েছে, লিঙ্কযুক্ত ওয়েবসাইটটি চিত্রটিকে হ্রাস করার মতো কোনও কাজ করে নি। আমি প্রস্তাবিত অন্যান্য পদ্ধতিগুলি চেষ্টা করেছিলাম এবং সেগুলির কোনওটির চেয়ে ভাল দেখাচ্ছে। বিভিন্ন পদ্ধতির ফলস্বরূপ এটি:
ফটোশপ:
ক্যানভাস:
চিত্র-রেন্ডারিং সহ চিত্র: অনুকূলিতকরণ মান এবং প্রস্থ / উচ্চতা দিয়ে মাপানো:
চিত্র-রেন্ডারিং সহ চিত্র: অনুকূলিতকরণের মানটি -মোজ-ট্রান্সফর্মের সাথে মাপসই করুন:
ক্যানভাসের আকার পিক্সেস্টিক:
আমি অনুমান করি এর অর্থ ফায়ারফক্সটি বাইকুবিক স্যাম্পলিংটিকে অনুমিত করার মতো ব্যবহার করছে না। তারা কেবল এটি যুক্ত না করা পর্যন্ত আমাকে অপেক্ষা করতে হবে।
EDIT3: