টার্মিনালে একটি 256-রঙের পরীক্ষা প্যাটার্ন মুদ্রণ করুন


62

আমি কীভাবে আমার টার্মিনালে 256-রঙের পরীক্ষার ধরণটি মুদ্রণ করব?

আমি দেখতে চাই যে আমার টার্মিনালটি 256 টি রঙকে সঠিকভাবে সমর্থন করে।


/cubesইরসি টাইপ করুন ( উত্স )
মিরাবিলোস

উত্তর:


94

256 রঙের পরীক্ষার ধরণ

নীচের চিত্রটি পেতে, ব্যবহার করুন:

curl -s https://gist.githubusercontent.com/HaleTom/89ffe32783f89f403bba96bd7bcd1263/raw/ | bash

256 রঙের পরীক্ষার ধরণ

সারকথা bash/ zshকোড হল shellcheckপরিষ্কার, এবং এছাড়াও সমর্থন "লুক মা, কোন subprocesses!"।


বিকল্প হিসাবে, একটি দ্রুত জন্য bash:

for i in {0..255} ; do
    printf "\x1b[48;5;%sm%3d\e[0m " "$i" "$i"
    if (( i == 15 )) || (( i > 15 )) && (( (i-15) % 6 == 0 )); then
        printf "\n";
    fi
done

মোট Overkill জন্য, অনেক granddaddy হয় terminal-colors, একটি 572-লাইন স্ক্রিপ্ট একাধিক সঙ্গে আউটপুট বিন্যাসের

আপনি একটি সত্য রঙ (24-বিট) পরীক্ষার ধরণও মুদ্রণ করতে পারেন ।


7
স্ক্রিপ্টগুলি গিটহাব পৃষ্ঠায় গ্রেস্কেল সম্পর্কে আপনার মন্তব্যটি আমি পছন্দ করি - "# না 50, তবে ধূসর 24 টি ছায়াছবি"
ম্যাডিসনকুপার

1
এখানে আরও একটি 24-বিট রঙ পরীক্ষা: gist.github.com/lifepillar/09a44b8cf0f9397465614e622979107f
মাস্টারেক্সিলো

চালানোর জন্য terminal-colors, করcurl -s https://raw.githubusercontent.com/eikenb/terminal-colors/master/terminal-colors | python
মাস্টার্সিলো

@ মাস্টারেক্সিলো কী terminal-colorsএবং এটি আমার প্রস্তাবিত বিকল্পগুলির সাথে কীভাবে তুলনা করে?
টম হেল

প্রিন্টফ প্যাটার্নটি পটভূমির পরিবর্তে পাঠ্য রঙ করার জন্য কেমন হবে?
ianstarz

35

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

স্ক্রিপ্টটি বর্তমান ওয়ার্কিং ডিরেক্টরিতে ডাউনলোড করুন

wget https://gist.githubusercontent.com/justinabrahms/1047767/raw/a79218b6ca8c1c04856968d2d202510a4f7ec215/colortest.py

এটি কার্যকর করার অনুমতি দিন

chmod +x colortest.py

চালাও এটা:

./colortest.py

লিঙ্ক-পঁচনের ক্ষেত্রে স্ক্রিপ্টটি এখানে পূর্ণ:

#!/usr/bin/env python
# Ported to Python from http://www.vim.org/scripts/script.php?script_id=1349

print "Color indexes should be drawn in bold text of the same color."
print

colored = [0] + [0x5f + 40 * n for n in range(0, 5)]
colored_palette = [
    "%02x/%02x/%02x" % (r, g, b) 
    for r in colored
    for g in colored
    for b in colored
]

grayscale = [0x08 + 10 * n for n in range(0, 24)]
grayscale_palette = [
    "%02x/%02x/%02x" % (a, a, a)
    for a in grayscale 
]

normal = "\033[38;5;%sm" 
bold = "\033[1;38;5;%sm"
reset = "\033[0m"

for (i, color) in enumerate(colored_palette + grayscale_palette, 16):
    index = (bold + "%4s" + reset) % (i, str(i) + ':')
    hex   = (normal + "%s" + reset) % (i, color)
    newline = '\n' if i % 6 == 3 else ''
    print index, hex, newline, 


7

তবুও আমার লিখিত অন্য একটি স্ক্রিপ্ট ভিটিই সংগ্রহস্থলে রয়েছে: https://git.gnome.org/browse/vte/plain/perf/256test.sh?h=vte-0-38

এটির জন্য 120-ইশ বা আরও বেশি কলামের উইন্ডো দরকার তবে 6x6x6 কিউবের রঙগুলি সুন্দর এবং সংক্ষিপ্তভাবে সাজানো হয়েছে। সূচকগুলির প্রথম অঙ্কগুলি কমপ্যাক্টনেসের জন্য ছিনিয়ে নেওয়া হয়, আপনি সহজেই এগুলি বের করতে পারেন। উল্লম্ব বারগুলি আপনাকে অ্যান্টিয়ালাইজিং কিক না দিয়ে অগ্রভাগের রঙের সঠিক আরজিবি পরীক্ষা করার ক্ষমতা সরবরাহ করে (যেমন এটি অঙ্কগুলিতে হয়)।

আউটপুটের শীর্ষে (নীচের স্ক্রিনশটে দেখানো হয়নি) সাহসী বনাম উজ্জ্বল অস্পষ্টতার সাথে ঘুরেফিরে যে কৌতূহল তা প্রকাশ করে, যথা সাহসীতা পালানোর ক্রমটি উত্তরাধিকারের 8 টি রঙের অব্যাহতি ক্রমের সাথে সামনের দিকেও স্যুইচ করে উজ্জ্বল পাল্টা রঙ, যদিও নতুন স্টাইলের (256-রঙ সক্ষম) এ্যাস্কেপ সিকোয়েন্সগুলির সাথে এটি আর নেই, এমনকি প্রথম 8 টি রঙের জন্যও নয়। এক্সটার্ম এবং ভিটিই (জিনোম টার্মিনাল ইত্যাদি) কীভাবে আচরণ করে তা অন্তত।

এই স্ক্রিনশট আউটপুট প্রায় অর্ধেক দেখায়:

জিনোম টার্মিনালে 256est.sh এর আউটপুট


2
curl -s -L https://git.gnome.org/browse/vte/plain/perf/256test.sh?h=vte-0-38 | bash
মাস্টারেক্সিলো

6

সম্ভবত অতিরিক্ত অতিরিক্ত তবে আমি এমন একটি সংস্করণ লিখেছি যাতে 256 টি রঙ স্বয়ংক্রিয় শেল প্রস্থ সনাক্তকরণের সাথে পটভূমি ব্যবহার করে প্রিন্ট করে যাতে রঙগুলি আরও সহজেই দৃশ্যমান হয়।

https://gist.github.com/WoLpH/8b6f697ecc06318004728b8c0127d9b3

256 রঙের পরীক্ষার ডেমো

#!/usr/bin/env python
from __future__ import print_function

import os
import shutil
import subprocess


def get_width(default=80):
    '''Attempt to detect console width and default to 80'''
    try:
        columns, rows = shutil.get_terminal_size()
    except AttributeError:
        try:
            _, columns = subprocess.check_output(['stty', 'size']).split()
        except OSError:
            columns = os.environ.get('COLUMNS', default)

    columns = int(columns) - 77
    # Since we have 6 columns with 1 space on each side, we can increment the
    # size for every 12 extra columns
    return max(0, columns / 12)


# Loosely based on https://gist.github.com/justinabrahms/1047767
colored = [0] + list(range(95, 256, 40))
colored_palette = [
    (r, g, b)
    for r in colored
    for g in colored
    for b in colored
]


grayscale_palette = [(g, g, g) for g in range(8, 240, 10)]


esc = '\033['
# Reset all colors sequence
reset = esc + '0m'
# Regular color
normal = esc + '38;5;{i}m'
# Bold color
bold = esc + '1;' + normal
# Background color
background = esc + '48;5;{i}m'

pattern = (
    '{normal}{background}{padding:^{width}}{i:^3d} '  # pad the background
    '{r:02X}/{g:02X}/{b:02X}'  # show the hex rgb code
    '{padding:^{width}}'  # pad the background on the other side
    '{reset}'  # reset again
)

base_context = dict(reset=reset, padding='', width=get_width())

for i, (r, g, b) in enumerate(colored_palette + grayscale_palette, 16):
    context = dict(i=i, r=r, g=g, b=b, color=r + g + b, **base_context)
    context.update(bold=bold.format(**context))
    context.update(background=background.format(**context))

    # Change text color from black to white when it might become unreadable
    if max(r, g, b) > 0xCC:
        context.update(normal=normal.format(i=0))
    else:
        context.update(normal=normal.format(i=255))

    print(pattern.format(**context), end='')

    # Print newlines when needed
    if i % 6 == 3:
        print()
    else:
        print(' ', end='')

2
যদি কেউ এই স্ক্রিপ্টটি ওয়ান লাইনারে চালাতে চান তবে চালানcurl https://gist.githubusercontent.com/WoLpH/8b6f697ecc06318004728b8c0127d9b3/raw/250eb2e3f2acca1c51aa52adf611ec0380291e8a/colortest.py | python3
টমমাসো থিয়া সিওনি

আমি পরামর্শ দিচ্ছিcurl -s https://gist.githubusercontent.com/WoLpH/8b6f697ecc06318004728b8c0127d9b3/raw/colortest.py | python3
মাস্টারেক্সিলো

3

একটি ওয়ান লাইনার

পেছনের রং

for i in {0..255}; do printf '\e[48;5;%dm%3d ' $i $i; (((i+3) % 18)) || printf '\e[0m\n'; done

পুরোভূমি রং

for i in {0..255}; do printf '\e[38;5;%dm%3d ' $i $i; (((i+3) % 18)) || printf '\e[0m\n'; done
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.