.Ico ফাইলে আমি একাধিক মাপ এম্বেড করব কীভাবে?


17

আমি .ico আইকনগুলি দেখেছি যা একাধিক আকারের জন্য বিভিন্ন চিত্র রয়েছে, যেমন। 16x16, 32x32, 48x48, 128x128, 256x256। উইন্ডোজে, প্রতিটি আকারের জন্য আমার কাছে বিদ্যমান .ico ফাইল থাকা সত্ত্বেও আমি কীভাবে একটি আইকন ফাইল তৈরি করতে পারি যা একাধিক আকারকে সমর্থন করে? দয়া করে মনে রাখবেন যে আমি 200+ ফাইলগুলিতে এটি করার আশা করছি, তাই এটি সেন্টিমিডি থেকে করা আদর্শ হবে।

উত্তর:


28

ইমেজম্যাগিক (উইন্ডোজ / ম্যাক / লিনাক্স) একটি কমান্ড-লাইন টুল রয়েছে convertযা এক আইকনে একাধিক চিত্র প্যাকিং সহ অনেক কিছুর জন্য ব্যবহার করা যেতে পারে:

convert 16.png 32.png 48.png 128.png 256.png -colors 256 icon.ico

পূর্ববর্তী কমান্ডটি 5 টি পিএনজি চিত্র নেয় এবং এগুলি একক .ico ফাইলের সাথে সংযুক্ত করে।

অন্যান্য উত্তরের মতো নয়, এই পদ্ধতিটি সহজেই বেশ কয়েকটি আইকন ফাইল তৈরি করতে ব্যাচ স্ক্রিপ্টগুলিতে সহজেই ব্যবহার করা যেতে পারে । আমার একটি প্রকল্পে আমার একক ভেক্টর চিত্র (এসভিজি) রয়েছে এবং আইকন ধারক তৈরি করার পরে বিভিন্ন আকারের পিএনজি তৈরি করতে ইনস্কেপ ব্যবহার করুন convert। এটি হ্রাসিত উদাহরণ (বাশ স্ক্রিপ্টে):

#!/bin/bash
for size in 16 32 48 128 256; do
    inkscape -z -e $size.png -w $size -h $size icon.svg >/dev/null 2>/dev/null
done
convert 16.png 32.png 48.png 128.png 256.png -colors 256 icon.ico

1
মনুষ্য, আমার মনে হচ্ছে আমি convertযতবার এটি দেখছি তখন আমি ইমেজম্যাগিকের ব্যবহারের জন্য একটি নতুন উপায় শিখি । উত্তরের জন্য ধন্যবাদ!
সুচিপি

আপনি কিভাবে বিপরীতে করবেন? .icoএতে থাকা মাপের ভিত্তিতে একটিকে একাধিক পিএনজিতে রূপান্তর করতে চান?
Flimm

2
ফ্রেম প্রতিটি আইকন জন্য @ ফ্লিম convert favicon.ico favicon.pngজেনারেট favicon-0.png, favicon-1.pngইত্যাদি। আপনি যদি চিত্রটির মাত্রা জানতে চান identifyতবে পিএনজি ফাইলে কমান্ডটি ব্যবহার করুন।
রব ডাব্লু

আপনি ইঙ্কস্কেপের convert <icon.png> -resize 64x64পরিবর্তে নিজস্ব চিত্রগ্রাহকগুলি ব্যবহার করতে পারেন
কুমারহর্ষ

আমি -dither Noneরূপান্তর কমান্ডে যুক্ত করেছি কারণ 256 বর্ণের ডিফল্ট রূপান্তরটি আমার আইকনটিতে কিছু শব্দ যোগ করেছে
জেমস রথ

7

ইমেজম্যাগিকের জন্য আরও ভাল কমান্ড:

convert in.jpg -define icon:auto-resize=16,48,256 -compress zip out.ico

1
এটি আসলে একটি দুর্দান্ত উত্তর। ফাইলটি প্রকৃতপক্ষে রূপান্তরিত হয়েছে তা পরীক্ষা করতে এই আদেশটি ব্যবহার করুন:identify out.ico
কুমারহর্স

5

আপনি জিআইএমপিতে এটি নিখরচায় করতে পারেন । এটি করার জন্য এখানে সংক্ষিপ্ত নির্দেশনা রয়েছে ।

উদ্ধৃতি থেকে:

  1. গিম্পে আপনার চিত্রটি খুলুন
  2. আপনার ক্যানভাস বর্গাকার করুন
  3. আপনার স্তরটি চিত্রটিতে পুনরায় আকার দিন
  4. আপনার .ico ফাইলের মধ্যে 64 পিক্সেলের মতো বৃহত্তম আকারে স্তরটি স্কেল করুন
  5. স্তরটি নকল করুন
  6. পরবর্তী আকারে সদৃশ স্তরটি স্কেল করুন
  7. আপনার .ico ফাইলে আপনি চান সমস্ত আকারের জন্য সদৃশ / স্কেলিং রাখুন
  8. .Ico হিসাবে সংরক্ষণ করুন

আপনার ক্ষেত্রে, আপনি হয় বৃহত্তম ইমেজ দিয়ে শুরু করতে এবং প্রতিটি নকল চিত্রের জন্য স্কেল ডাউন করতে পারেন, বা আপনি কেবল নতুন স্তর যুক্ত করতে পারেন এবং সেই স্তরটিতে আপনি যে নির্দিষ্ট আইকন চিত্রগুলি চেয়েছিলেন তা আমদানি করতে পারেন।


আপনি এই পদ্ধতিতে একাধিক রঙের গভীরতা কীভাবে সমর্থন করেন?
র্যান্ডম 832

এটি ব্যক্তিগতভাবে আমাকে করতে হয়েছিল তা বলতে পারি না, তবে এই পোস্টটি বলেছে যে জিম্পের সংরক্ষণের পরে প্রতিটি স্তরটির জন্য একটি রঙিন সেটিংস ডায়ালগ পপআপ করা উচিত।
টেকচারল

আপনাকে গিম্প ২.৮.১6 এ রফতানি করতে হবে তবে কয়েক বছর পরে, আমি আইকো রফতানি করার সময় রঙিন সেটিংসের জন্য একটি ডায়ালগ রয়েছে তা নিশ্চিত করতে পারি।
ব্রুটস ওয়েইম্ব

1

এখানে গৃহীত উত্তর দ্বারা রব ডব্লিউ একাধিকবার আকার (16, 32, ইত্যাদি) টাইপ করতে থাকার এড়িয়ে যেতে একটি তুচ্ছ অভিযোজন সঙ্গে:

#!/bin/bash
files=()
for size in 16 32 48 128 256; do
    inkscape -z -e "$size.png" -w "$size" -h "$size" logo.svg > /dev/null 2> /dev/null
    files+=("$size.png")
done
convert "${files[@]}" -colors 256 favicon.ico
unlink  "${files[@]}"

এখানে logo.svgইনপুট (উৎস) ইমেজ, যা থেকে আমরা কাঙ্ক্ষিত আকার (ছোট ফাইল তৈরি প্রতিনিধিত্ব করে 16.png, 32.png,, ইত্যাদি) যা আমরা তারপর আউটপুট (রিজাল্ট) আইকন ফাইলটি একত্রিত favicon.ico। আপনি লাইন 3-তে মাপের তালিকাটি "16 24 32 48 64 72 72 128" এ পরিবর্তন করতে পারবেন এবং convertকমান্ডটি স্বয়ংক্রিয়ভাবে সেই অনুসারে অভিযোজিত হবে, কারণ এই লিপিটি তৈরির জন্য এখানে তার উত্তরে জি-ম্যান দ্বারা বর্ণিত কৌশলটি ব্যবহার করে ফাইলের নামগুলি। এবং পরিশেষে আমরা আবার ফাইলের অ্যারের ব্যবহার করে লাইন 4-এ তৈরি করা পিএনজি ফাইলগুলি লিঙ্কমুক্ত (সরান) করি।


আমি লক্ষ্য করেছি যে আদেশ:

convert logo.svg -define icon:auto-resize=16,48,256 -compress zip favicon.ico

(ব্যবহারকারী ৪০০00747 এর উত্তরে উপস্থাপিত সমতুল্য ) আসলে স্কেলড বিটম্যাপ চিত্র (হারানো গুণমান) এবং স্তরগুলির পটভূমি স্বচ্ছতা হারিয়েছে।


1
(1) আপনি অন্য কারও উত্তর মূলত অনুলিপি করেছেন। যদি আপনি এটি করেন এবং আরও কিছু না করেন (হ্যাঁ, লোকেরা কখনও কখনও এটি করে) তবে আমি মুছে ফেলার জন্য আপনার উত্তরটি পতাকাঙ্কিত করব। আমি এটি করছি না, কারণ আপনি একটি ছোট উন্নতি করেছেন। তবে, যখনই আপনি অন্য কারও কাজের অনুলিপি করছেন, আপনার নাম এবং আপনার উদ্ধৃত তথ্যের সাথে লিঙ্ক করে আপনার মূল লেখককে স্বীকৃতি দেওয়া উচিত। (২) দয়া করে আপনার অর্থটি ব্যাখ্যা না করে দয়া করে "এটি আরও নমনীয়" এর মতো জিনিসগুলি বলবেন না। … (চালিয়ে যাওয়া)
স্কট

(চালিয়ে যাওয়া) ... (3) আপনার কাছে সর্বদা শেল ভেরিয়েবলগুলি উদ্ধৃত করা উচিত যদি না আপনার কাছে না করার কোনও ভাল কারণ না থাকে এবং আপনি নিশ্চিত যে আপনি কী করছেন তা আপনি অবশ্যই জানেন। প্রকৃতপক্ষে, আমি স্ক্রিপ্টগুলির যে সমস্ত উদাহরণ দেখেছি সেগুলির মধ্যে শেল ভেরিয়েবলগুলি উদ্ধৃতি না দিয়ে ব্যবহার করা হয়, আপনার (অর্থাত্ রব ডাব্লু এর ) অন্তত খারাপ হতে পারে। তবে তবুও, ভেরিয়েবলগুলি উদ্ধৃত করা ভাল। (4) আপনি কেন unlinkবেশি সাধারণের পরিবর্তে ব্যবহার করবেন rm?
স্কট 20

1

উইন্ডোজ ব্যাচ ফাইল, যা একাধিক আকারের .PNGs তৈরি করে এবং তাদের একটি। আইসিও ফাইলে মার্জ করে:

@echo off

set inkScape="C:\SOFTWARE\GRAPHIC\INKSCAPE\inkscape.exe"
set imageMagick="C:\SOFTWARE\DEVELOPER\IMAGEMAGICK\magick.exe"
set fileName=favicon
set importType=svg
set exportType=png
set exportDpi=300
set imageSizes=(16 24 32 48 57 60 64 70 72 76 96 114 120 128 144 150 152 180 192 196 256 300 320 400 450 460 480 512 600)

for %%s in %imageSizes% do (
 %inkScape% -z -f %~dp0%fileName%.%importType% -w %%s -h %%s -e %~dp0%fileName%-%%sx%%s.%exportType% -d %exportDpi%
 echo CREATED: %fileName%-%%sx%%s.%exportType%
 set e=%fileName%-%%sx%%s.%exportType%
 call :concat (e)
)

%imageMagick% %exportFileNames%"%~dp0%fileName%.ico"
echo MERGED IN: %fileName%.ico

pause goto :eof


:concat (e) (
 set exportFileNames=%exportFileNames%"%~dp0%e%" 
)

আপনার যদি .PNG ফাইলগুলির প্রয়োজন না হয় তবে আপনি সেগুলি মুছতে (বা মুছে ফেলতে) করতে পারেন del FILEবা আপনি যে ডিরেক্টরিটি মুছে ফেলতে পারেন তার পরে সমস্ত পিএনজি সংরক্ষণ করতে পারেন (এর পরে %imageMagick% %exportFileNames%"%~dp0%fileName%.ico")।

আশা করি এটি কারও সাহায্য করবে। :)


0

এটি আমার মতে আইজি সমস্যাগুলির সেরা সমাধান অ্যাক্সিয়ালিস আইকনমেকার । 30 দিনের একটি ট্রায়াল রয়েছে যা সম্ভবত আপনার সমস্যার সমাধান করবে।

আমি বহু বছর ধরে এবং অনেকগুলি প্রকল্পের জন্য অ্যাক্সিয়ালিস ব্যবহার করেছি, আমি প্রমাণ করতে পারি যে এটি সত্যিই সার্থক পণ্য। আপনার 30 দিনের প্রয়োজন হবে না! হা!


0

আপনাকে অবশ্যই একটি তৃতীয় পক্ষের আইকন-সম্পাদনা প্রোগ্রামটি ব্যবহার করতে হবে কারণ এমএসপেইন্ট কেবল ফাইল প্রতি একক আইকন সমর্থন করে। আছে একটি দম্পতি এর এখানে থ্রেড আইকন সম্পাদক কিছু বিনামূল্যে, কিছু বাণিজ্যিক জন্য সুপারিশ করেন।

আপনি একবার আইকন সম্পাদক হিসাবে স্থির হয়ে গেলে, আইকন ফর্ম্যাটগুলি যুক্ত করার পদ্ধতিটি পরিবর্তিত হতে পারে তবে সাধারণত একই রকম হয় (আপনি একটি বোতামে ক্লিক করুন বা একটি নতুন বিন্যাস যুক্ত করতে একটি মেনু আইটেম নির্বাচন করুন)। আইকন ফর্ম্যাট / আকার যুক্ত করার সময় বেশিরভাগ প্রোগ্রাম আপনাকে আইকন ফাইলটি আমদানি করতে দেবে, তবে বেশিরভাগটি আপনাকে পুনরায় আকারের মাধ্যমে একটি বিদ্যমান ফর্ম্যাট / আকার তৈরি করতে দেয়।

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


200 টিরও বেশি আইকনগুলিতে আমার এটি করা দরকার। এই আইকন সম্পাদকগুলির মধ্যে কেউ কি ব্যাচে জিনিস চালাতে পারে?
সুচিপি

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

0

আপনি ম্যাথিয়াস Benkmann এর চেষ্টা করতে পারে png2ico । এটি নিখরচায় এবং একক আইকো ফাইলে বহু আকারের png প্যাক করতে পারে।


যদিও এর কিছু আকর্ষণীয় বিধিনিষেধ রয়েছে:Width must be multiple of 8 and <256. Height must be <256.
ফ্রেঞ্চোইস বোথা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.