বৈশিষ্ট্যযুক্ত পোস্ট থাম্বনেল কীভাবে স্কেল করবেন?


11

পরিস্থিতিটি হ'ল: আমি ইউটিউব / ভিমেও থাম্বনেলগুলি পোস্টের বৈশিষ্ট্যযুক্ত চিত্র হিসাবে স্বয়ংক্রিয়ভাবে পেতে এবং সেট করতে ভিডিও থাম্বনেইল প্লাগইন ব্যবহার করছি। সমস্যাটি হ'ল ডিফল্ট ইউটিউব / ভিমেও থাম্বনেইল আকারগুলি আমার থিমের মূল বিষয়বস্তুর প্রস্থের থেকে কিছুটা ছোট।

সুতরাং আমার যা প্রয়োজন তা হল তাদের স্কেল করা। আমি যদি মিডিয়া লাইব্রেরিতে যাই, আমি প্রতিটি চিত্র নিজেই সম্পাদনা করতে পারি, তারপরে আমার সঠিক প্রস্থটি সেট করুন এবং ওয়ার্ডপ্রেসটি একেবারে ঠিক এটি আপ করে নিন (মানটি কিছুটা খারাপ বলে আমি মনে করি না)। তাহলে ডাব্লুপি কি এমন কোনও উপায় করতে পারে যে প্রতিবার কোনও ছবি আপলোড করা হয়?

এটি আমার সংজ্ঞায়িত চিত্রের আকার: add_image_size('post-full', 688, 320, true);ভিমেও থাম্বের আকার 640x320।


1
লেবি দ্বারা সমাধানের ভিত্তিতে এবং জ্যাক্রোগিল দ্বারা স্থির করা সমাধানগুলির উপর ভিত্তি করে আমি থাম্বনেইস আপসেকিংয়ের জন্য লিখেছি এমন একটি প্লাগইন এখানে is wordpress.org/support/plugin/thumbnail-upscale
khromov

উত্তর:


20

আপনি চিত্রগুলি স্কেল করতে নেটিভ ওয়ার্ডপ্রেস ইমেজ_সেসেজ ফাংশন ব্যবহার করতে পারেন । ওয়ার্ডপ্রেস " ইমেজ_সাইজ_ডিমাইশনস " নামে একটি হুক সরবরাহ করে যা আপনি ডিফল্ট ক্রপিং সেটিংস ওভাররাইট করতে ব্যবহার করতে পারেন। এখানে একটি পরিবর্তিত ফাংশন যা স্কেলিং সমর্থন করবে:

function image_crop_dimensions($default, $orig_w, $orig_h, $new_w, $new_h, $crop){
    if ( !$crop ) return null; // let the wordpress default function handle this

    $aspect_ratio = $orig_w / $orig_h;
    $size_ratio = max($new_w / $orig_w, $new_h / $orig_h);

    $crop_w = round($new_w / $size_ratio);
    $crop_h = round($new_h / $size_ratio);

    $s_x = floor( ($orig_w - $crop_w) / 2 );
    $s_y = floor( ($orig_h - $crop_h) / 2 );

    return array( 0, 0, (int) $s_x, (int) $s_y, (int) $new_w, (int) $new_h, (int) $crop_w, (int) $crop_h );
}

এখন এই মত এই ফাংশন হুক:

add_filter('image_resize_dimensions', 'image_crop_dimensions', 10, 6);

একবার সম্পন্ন হয়ে গেলে, আপনি প্রয়োজন অনুসারে চিত্রগুলি স্কেল করতে ইমেজ_সেসেজ ফাংশনটি ব্যবহার করতে পারেন ।

$cropped_image = image_resize($image_filepath, $width, $height, true);

আমি এই পদ্ধতিটি ব্যবহার করছি তবে আমি যখন চেষ্টা করেছি এবং ক্রপড চিত্রটি উত্পন্ন করছি তখন আমি কেবল ত্রুটিটি পাই: চিত্র সম্পাদক সংরক্ষণ করুন ব্যর্থ হয়েছে - কোনও ধারণা?
ফেলিক্স ইভটি

ওয়ার্ডপ্রেস 4.1.5 দিয়ে 2015 সালের জুলাইয়ে এখনও দুর্দান্ত কাজ করে। আমার পোস্টগুলির বৈশিষ্ট্যযুক্ত চিত্রগুলির জন্য ছোট চিত্রগুলি বাড়িয়ে দেওয়া নিশ্চিত করার জন্য আমার ঠিক কী দরকার ছিল।
মার্ক রুমেল

যারা ফসলের অবস্থানের বিকল্পটি সমর্থন করতে চান তাদের জন্য ফাংশন ফিরে আসার ঠিক আগে নীচের কোডটি যুক্ত করুন: if( is_array( $crop ) ) { if( $crop[ 0 ] === 'left' ) { $s_x = 0; } else if( $crop[ 0 ] === 'right' ) { $s_x = $orig_w - $crop_w;} if( $crop[ 1 ] === 'top' ) { $s_y = 0; } else if( $crop[ 1 ] === 'bottom' ) { $s_y = $orig_h - $crop_h; } }
২৪:৪৩ এ জ্যাক্রাগাইল

এখনও ওয়ার্ডপ্রেস 5.1.1 এর সাথে দুর্দান্ত এপ্রিল 2019 কাজ করে। আমি এটি আমার কাস্টম পছন্দসই চেয়ে ছোট আকারের আপস্কেল চিত্রগুলিকে জোর করতে ব্যবহার করি add_image_size। পুনরায় তৈরি থাম্বনেইস প্লাগইন সহ।
Mtxz

কিভাবে এটি add_image_sizeফাংশন দিয়ে কাজ করতে?
গেদিমিনাস

0

সবচেয়ে সহজ উপায় হ'ল 640x298 সহ কোনও চিত্র-আকার যুক্ত করা এবং এটির আকার পরিবর্তন করতে CSS ব্যবহার করা। এটি যেহেতু কেবলমাত্র একটি ছোট স্কেল আপ, তাই ব্রাউজারের স্কেলিংটি বেশ সূক্ষ্মভাবে কাজ করা উচিত।

দুর্ভাগ্যক্রমে, আমার জানা সমস্ত প্লাগইনগুলি চিত্রের আপস্কলিং সরবরাহ করে না, কেবল ছোট চিত্রের আকার তৈরি করে, তাই আপনি যদি আপনার সার্ভারে 688x320 রাখতে চান তবে আপনাকে বিদ্যমান প্লাগইনগুলির একটি সম্পাদনা করতে হবে।

আপনি যদি ইমামিক ইনস্টল করেন তবে আপনি এই কোডটি ব্যবহার করে থাম্বনেইলের একটি বৃহত সংস্করণ তৈরি করে 325 লাইনে ফাইল ভিডিও থাম্বনেইলস.এফপি ফাইল-এ আপনার প্লাগইন পরিবর্তন করতে পারেন:

$image_big = new Imagick();
$image_big->setOption('jpeg:size', '688x344');
$image_big->readImage($new_thumbnail);

$upload = wp_upload_bits( basename( $new_thumbnail ), null, $image_big );

এবং ওয়ার্ডপ্রেস এটি থেকে ছোট থাম্বনেল তৈরি করুন (উচ্চতা কাটা)। আপনার ইমেজিক কোডে বিভিন্ন ভিডিওপ্লেটফর্মের জন্য আলাদা আলাদা চিত্র তৈরি করতে ভুলবেন না!


আমি মনে করি আমি এই মুহূর্তে সিএসএস ফিক্সটি নিয়ে যাব, এটি আমার পরিস্থিতি অবলম্বন করা সত্যিই সবচেয়ে সহজ / দ্রুততম উপায়। আমি ডাব্লুপি কোর ফাইলগুলিও পরীক্ষা করেছিলাম এবং মনে হয় যে আকার পরিবর্তনকারী ফাংশনটি কম ব্যবহার করে (); ন্যূনতম প্রস্থ / উচ্চতা নির্ধারণ করতে এবং এটিকে সংশোধন করার জন্য কোনও হুক নেই, সুতরাং এটি আমার ছবিগুলি আপলোডে উপড়ে ফেলবে।
ইভাকাস

আপনি "ইমেজ_সাইজ_ডিমাইশনস" নামে একটি হুক ব্যবহার করতে পারেন যা আপনাকে কমপক্ষে () ছাড়াই ফাংশনটি আবার লিখতে সক্ষম করবে।
লেবি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.