কোনও কমান্ড-লাইন সরঞ্জাম রয়েছে যা স্ক্রিনের সমন্বয়গুলির ভিত্তিতে পিক্সেলের রঙ দেয়?


11

সেখানে একটি কম্যান্ড-লাইন টুল ফেরৎ এক পিক্সেল রঙ মান, একমাত্র তার উপর ভিত্তি করে হয় পর্দা সমন্বয়

এমন কোন সরঞ্জাম আছে?

(এছাড়াও: সরঞ্জামটির কোনও ব্যবহারকারীর ক্রিয়া প্রয়োজন হবে না It এটি কোনও স্ক্রিপ্টের লুপে চালানো))


উত্তর:


14

আপনি প্রোগ্রাম গ্র্যাক ব্যবহার করতে পারেন । এটি আপনার মাউস পয়েন্টারটিকে ক্রসহায়ারে পরিণত করবে এবং নির্বাচিত রঙের HTML এবং আরজিবি মানগুলি ফিরিয়ে দেবে।

sudo apt-get install grabc

ডাউনসাইড: ক্রসহায়ার পর্যাপ্ত পরিমাণে পাতলা না হওয়ার কারণে পিক্সেল-সঠিক নির্বাচন করা সম্ভব নয়।


আপনি পাইথন স্ক্রিপ্টও তৈরি করতে পারেন, এরকম কিছু:

#!/usr/bin/python -W ignore::DeprecationWarning
import sys
import gtk

def get_pixel_rgb(x, y):
    pixbuf = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB, False, 8, 1, 1)
    pixbuf.get_from_drawable(gtk.gdk.get_default_root_window(),
                             gtk.gdk.colormap_get_system(), 
                             x, y, 0, 0, 1, 1)
    return pixbuf.get_pixels_array()[0][0]

print get_pixel_rgb(int(sys.argv[1]), int(sys.argv[2]))

এটি কার্যকর করা, এবং pixel_rgb="$(/path/to/script.py x y)"আপনার ব্যাশ স্ক্রিপ্ট চালানো । অবশ্যই আপনাকে স্ক্রিপ্টটি যেমনভাবে প্রয়োজন তেমনভাবে পরিবর্তন করতে হবে, কিছু ত্রুটি পরিচালনা ও এমন কিছু যুক্ত করতে হবে।

পিএস: আমি অবজ্ঞা নেই যে আপনি হ্রাসকারী ওয়ার্নিং সম্পর্কে কিছু করতে পারবেন, তাই আমি প্রথম লাইনে এটি বন্ধ করে দিয়েছি।


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

হার্টক: আপনার পাইথন স্ক্রিপ্টটি আমার প্রশংসিত চশমাগুলির জন্য বিলটি পুরোপুরি ফিট করে (সাধারণ ব্যবহারকারী! সর্বদা চশমা পরিবর্তন করে! :) ... সরাসরি "সমন্বিত পিক্সেল-প্যাটার্ন" অনুসন্ধানের জন্য কো-অর্ডিনেটে কাজ করা আরও ভাল ... এবং তারপরে আমি সবেমাত্র পাওয়া কো-অর্ডারে কার্সারটি এক্সম্যাক্র করতে পারি এবং তারপরে ডান ক্লিকে এক্সম্যাক্রো করতে পারি; ডান টার্গেটে .... সহজ! (পাইথোনিস্টাসের জন্য :)
পিটার.ও

পথ no module named numpy.core.multiarray; Segmentation fault। কোন অংশটি এই মডিউলের উপর নির্ভরশীল?
ড্রিউ চ্যাপিন

6

এটি কিছুটা ক্লডজি, তবে আপনি এক্সডটুল দিয়ে এটি অর্জন করতে পারবেন যা আপনাকে মাউসের সাথে আলাপচারিতা করতে দেয় এবং গ্র্যাঙ্ক যা স্ক্রিনে ক্লিক করা কোনও স্থান থেকে রঙ পায়।

sudo apt-get install xdotool grabc

প্রথম চালান তবে এটি ব্যাকগ্রাউন্ড

grabc &

তারপরে xdotool ব্যবহার করে একটি মাউস ক্লিক ক্লিক করুন

xdotool click 1

ক্লিকটি গ্রাহকের কার্সার এবং আউটপুট রঙের সাথে পটভূমি প্রক্রিয়া দ্বারা ক্যাপচার করা হবে।


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

পয়েন্টার স্থানাঙ্কগুলি পেতে আপনি এক্সডটুল ব্যবহার করতে পারেন এবং এটিকে হর্টকের পাইথন স্ক্রিপ্ট দিয়ে ব্যবহার করতে পারেন। xdotool getmouselocation | sed -e 's/x://' -e 's/y://' -e 's/ screen:.*$//'এই স্ক্রিপ্টটি খাওয়ানোর জন্য স্থানাঙ্কগুলি দখল করে এটিকে স্পেস বিভাজনযুক্ত xy মানগুলিতে পরিষ্কার করবে।
মিস্টারবেন

মিস্টারবেন, আপনার সহায়তার জন্য ধন্যবাদ, আমি ব্যাকগ্রাউডিং (খুব সহজ) সম্পর্কে আরও শিখেছি .... আমি যখন প্রথম প্রশ্নটি জিজ্ঞাসা করেছি তখন আমি তা বুঝতে পারি নি, তবে "সমন্বয় দ্বারা রঙটি পান" পদ্ধতিটি পরিণত হয়েছিল যেতে উপায় হতে।
পিটার.ও

আমি আপনার চেষ্টা করে দেখতে পেলাম xdtool getmouselocation... খুব সুন্দর, ধন্যবাদ ... সেডের উপযোগিতা আমাকে অবাক করে দেয়!
পিটার.ও

3

ব্যবহার করে xwdএবং xdotool:

xwd -root -silent | convert xwd:- -depth 8 -crop "1x1+$X+$Y" txt:- | grep -om1 '#\w\+'

কোথায় $Xএবং $Yআপনার স্থানাঙ্ক।

Xorg এর অংশ হিসাবে xwdআপনার সিস্টেমে ইনস্টল করা উচিত। xdotoolএর সাথে ইনস্টল করা যেতে পারে:

sudo apt-get install xdotool 

@ খ্রিস্টানের ভিত্তি করে উপর একটি Stackoverflow Q & A- উত্তর এবং এই imagemagick.org থ্রেড


ধন্যবাদ, এটি কাজ করে, যদিও এটি হর্টকের পাইথন স্ক্রিপ্টের তুলনায় অনেক ধীর (প্রকৃত 0.363s ব্যবহারকারী 0.456s সিস 0.064s) (আসল 0.097 এর ব্যবহারকারী 0.072 এস সিএস 0.020s)।
পিটার.ও

@ পিটার.ও হ্যাঁ, তবে এটি কেবল সত্য যদি অজগর এবং আমদানি করা লাইব্রেরিগুলি ইতিমধ্যে আপনার স্মৃতিতে ক্যাশে থাকে। একটি শীতল শুরুতে পাইথন স্ক্রিপ্ট উল্লেখযোগ্যভাবে ধীর হবে। সুতরাং যদি আপনার স্ক্রিপ্টটি মাঝে মাঝে চলে তবে আপনি আমার সমাধানটি ব্যবহার করতে চাইতে পারেন। PS: আপনি কী উইন্ডোটি পরিদর্শন করতে চান তা যদি আপনি জানেন তবে আপনি জিনিসগুলি গতি বাড়িয়ে দিতে পারেন। xwdসমর্থন করে নির্দিষ্ট উইন্ডো ID গুলির স্ক্রীনশট নেওয়া যাতে আপনি উইন্ডো আইডি (যেমন অনুসন্ধান পারে xdotool search --name "$Win" | head -n1) এবং তারপর এটি পাস xwdদিয়ে xwd -id "$WinID" -silent | ...। দ্রষ্টব্য: স্থানাঙ্কগুলি এই ক্ষেত্রে উইন্ডোর সাথে সম্পর্কিত হবে relative
গ্লুটানীমেট

2

আমি এই জাতীয় ক্রিয়াকলাপের জন্য পাইথন মডিউল লিখেছি, যাকে ম্যাক্রোপোলো বলে। তবে, এটি কেবল পর্দায় একটি পিক্সেলের রঙ পাওয়ার চেয়ে আরও অনেক কিছু করে।

ফোরামের পোস্টটি এখানে আমি এটি ভাগ করেছি: http://ubuntuforums.org/showthread.php?t=2155281

মডিউলটির অনেকগুলি কার্যকারিতা রয়েছে যা আপনাকে উদাহরণস্বরূপ, পর্দার একটি অঞ্চলে নির্দিষ্ট রঙের পিক্সেলগুলির পরিমাণ গণনা করতে, অঞ্চলে পিক্সেলের রঙের সন্ধান করতে, পিক্সেলের জন্য অপেক্ষা করতে হবে বা পর্দার একটি ক্ষেত্রের একটি নির্দিষ্ট আছে রঙ, পিক্সেল রঙের জন্য অপেক্ষা করুন এবং অপেক্ষা করার সময় অন্য কোনও ক্রিয়াকলাপ চালান (যেমন কোনও নির্দিষ্ট রঙের জন্য অপেক্ষা করার সময় পর্দাটি বন্ধ না করার জন্য কার্সারটি সরান)।

তবে, যেমনটি আমি বলেছি, এটি মাউস ক্লিক এবং কীবোর্ড সিমুলেট করার মতো, স্ক্রিনের অঞ্চল এবং আরও অনেক কিছু নিয়ে স্ক্রিনশট গ্রহণ করার মতো আরও অনেক কিছুই করে।

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