问题

我寻找一个工具,可以让我选择屏幕上的像素,并获得RGB颜色和绝对(x,y)的位置。

ubuntu有没有什么类似的东西?

答案1

最合适的是,一个Windows的小工具ColorPix (通过wine )

我经过长时间艰苦的搜索,Ubuntu/Linux的工具都不能满足你的条件,放大和坐标显示。

我们需要一个很小的Windows工具--非常关键--它适用于默认的WINE安装,没有配置、安装、 DLL等等

它有可调整的缩放,一键复制多种格式和坐标显示:

1.安装winesudo apt-get install wine

2.下载ColorPix

ColorPix 可以下载便携版 600KB >> 这里

我建议使用以下方法直接下载到本地二进制文件目录中:sudo wget -O/usr/local/bin/ColorPix.exe http://www.colorschemer.com/ColorPix.exe

3.为ColorPix创建启动器

先得到一个图标:sudo wget -O/usr/share/icons/colorpix.png http://cdn.alternativeto.net/i/22e49edc-efa7-e011-979d-0025902c7e73_11865.png

按Alt+F2现在并键入gksudo gedit /usr/share/applications/colorpix.desktop 粘贴以下文件并保存文件:[Desktop En试试]

Name=ColorPix

GenericName=ColorPix

Comment=ColorPicker via WINE

Exec=wine /usr/local/bin/ColorPix.exe

Terminal=false

Icon=/usr/share/icons/colorpix.png

Type=Application

StartupNotify=true

从终端运行:sudo chmod +x /usr/share/applications/colorpix.desktop

4.使用ColorPix

启动它,第一次在wine初始化时需要几秒钟。

下面的屏幕截图显示了它的实际效果,包括:顶部的坐标

以下不同格式的颜色值(单击可复制到剪贴板)

下方可调放大镜

按下任意键一旦对你想要的像素锁定值

答案2

有一个叫做gpick。

使用gpick可以选择像素,请参见HTML代码,将颜色添加到调色板并生成颜色。

答案3

安装程序

安装ImageMagick &Shutter。sudo apt-get install imagemagick shutter

如何获取x,y坐标和颜色

A.打开Shutter并单击选择按钮

注意,当移动鼠标时,它会显示你寻找的x,y坐标。

当你有了正确的位置,继续点击鼠标按钮,画一个方块来捕捉图像。图像的大小实际上并不重要,只要在感兴趣的像素上启动(左上角),

C.在Shutter中关闭图像

D.从终端运行以下命令,这会给出左上角像素的颜色值。convert ~/Pictures/Selection_001.png -crop 1x1+1+1 txt:- | sed -n 's/.* (#.*)/1/p'

E.在命令行中,继续删除图像,以便下次Shutter拍照时,它赋予它相同的名称,否则,你需要在上一步中调整名称(D)。rm ~/Pictures/Selection_001.png

答案4

将此代码粘贴到文本编辑器中,使它可执行并运行,使用滴管选择颜色时,x和y坐标将出现在顶部。#!/usr/bin/python

from gi.repository import Gtk,Gdk, GdkPixbuf

import cairo

class picker(Gtk.Window):

def __init__(self):

Gtk.Window.__init__(self)

self.connect('delete-event', Gtk.main_quit)

self.connect('motion-notify-event', self.motion_cb)

self.connect('button-press-event',self.button_press)

box=Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL)

#Setup area for coordinates and zoom window

coordbox=Gtk.Box(orientation=Gtk.Orientation.VERTICAL)

self.xcoor=Gtk.Label("x:")

coordbox.pack_start(self.xcoor, True, False, 1)

self.ycoor=Gtk.Label("y:")

coordbox.pack_start(self.ycoor, True, False, 1)

self.zoomwin=Gtk.Image()

#Trying to draw on Gtk.Image with cairo for crosshairs... Not working

self.zoomwin.connect('draw', self.draw)

self.zoomwin.set_app_paintable(True)

coordbox.pack_start(self.zoomwin,True,True,1)

self.buttongo=Gtk.Button("Pick Color")

self.buttongo.connect('clicked',self.gobutton_activate)

coordbox.pack_start(self.buttongo,True,True,1)

box.pack_start(coordbox, True, False, 5)

#Put in color wheel for tweaking color

self.cp=Gtk.ColorSelection()

self.cp.connect('color-changed', self.on_color_changed)

box.pack_start(self.cp, True, True, 5)

self.add(box)

self.show_all()

#Set some initial parameters

self.w,self.h=10,10 #Size of zoomed image in pixels

self.count=0

self.window=self.get_window()

#set initial zoom image

self.zoomwin.set_from_pixbuf(self.get_image().scale_simple(240,240,GdkPixbuf.InterpType.TILES))

self.grabbing=False

def on_color_changed(self,widget=None, data=None):

#Print out x,y to widgets

display=Gdk.Display.get_default()

(screen,x,y,modifier)=display.get_pointer()

self.xcoor.set_text("x: %i" %x)

self.ycoor.set_text("y: %i" %y)

def get_image(self,w=None,h=None):

#Get a pixbuff image under pointer

if w==None: w=self.w

if h==None: h=self.h

display=Gdk.Display.get_default()

(screen,self.x,self.y,modifier)=display.get_pointer()

window=Gdk.get_default_root_window()

screenshot = Gdk.pixbuf_get_from_window(window,

self.x-int(w/2), self.y-int(h/2), int(w), int(h))

return screenshot

def motion_cb(self, widget, data):

#What to do while mouse pointer is moving

#DONT capture every event! Causes too much backup

if self.count==5:

self.pixbuf=self.get_image().scale_simple(240,240,GdkPixbuf.InterpType.TILES)

self.zoomwin.set_from_pixbuf(self.pixbuf)

self.zoomwin.queue_draw()

self.count=0

self.count+=1

def grab_start(self):

#Grab control of pointer outside of window

self.grabbing = True

Gdk.pointer_grab(self.window,

True, #allow passage of pointer events to children

Gdk.EventMask.POINTER_MOTION_MASK | Gdk.EventMask.BUTTON_PRESS_MASK | Gdk.EventMask.BUTTON_RELEASE_MASK,

None,

None,# could put a custom cursor here

0L)

def button_press(self,widget,data):

#capture color under the pointer and set the color selection

cenpx=self.get_image(1,1)

color=tuple(map(ord, cenpx.get_pixels()[:3]))

col=Gdk.RGBA(float(color[0])/256.,float(color[1])/256.,float(color[2])/256.)

self.cp.set_current_rgba(col)

def grab_stop(self):

#Stop Grabbing the pointer

Gdk.pointer_ungrab(0)

self.grabbing=False

def gobutton_activate(self, widget, data=None):

#Button control

if self.grabbing==False:

self.grab_start()

widget.set_label("Stop Picking")

else:

self.grab_stop()

widget.set_label("Pick Color")

def draw(self, widget, cr):

#this gets called, but nothing is drawn that I can see...

cr.set_operator(cairo.OPERATOR_SOURCE)

cr.set_source_rgba(1,1,1,1)

w = self.w

h = self.h

cr.set_source_rgba(1,1,1,1)

cr.set_line_width(10)

cr.rectangle(w/2-1,h/2-1,w/2+1,h/2+1)

cr.stroke()

cr.set_operator(cairo.OPERATOR_OVER)

if __name__=="__main__":

win=picker()

Gtk.main()

答案5

Ubuntu附带的一个简单解决方案是xmag,Xmag是x11-apps包的一部分,默认情况下应该已经安装。

运行xmag,点击选择屏幕的某个区域,然后按住放大视图中的鼠标按钮,查看精确的像素坐标。

可以通过键入以下命令阅读xmag手册。

答案6

试试imview

相关文章

c语言 获取 屏幕 像素坐标和颜色,在屏幕上获取颜色和绝对坐标,方便地选择像素...相关推荐

  1. JavaScript--获取页面盒子中鼠标相对于盒子上、左边框的坐标

    分析: 外层边框是浏览器边框,内部盒子是页面的一个盒子,绿点是盒子中鼠标的位置.鼠标相对盒子边框的坐标=页面中(注意不是浏览器)鼠标坐标-盒子相对于浏览器边框的偏移量 第一步:求浏览器边框位置 x=e ...

  2. [unity3d][通过代码]改变材质球颜色,动态改变材质球颜色,动态改变模型颜色

    unity通过代码改变材质球颜色 gitee地址:https://gitee.com/asiworld csdn博客地址:https://blog.csdn.net/JianShengShuaiest ...

  3. 获取手机屏幕上点击位置的坐标

    获取手机屏幕上点击位置的坐标 在手机开发者选项中,打开指针位置,可以在屏幕上方获取当前点击位置的坐标点(X,Y) P:1/1  X:553  Y:1851  Xv:0:0  Yv:0:0 Prs:1. ...

  4. ccTouchesBegan 中如何让获取的坐标是相对整个屏幕的坐标,而不是在当前view的坐标

    ccTouchesBegan 中如何让获取的坐标是相对整个屏幕的坐标,而不是在当前view的坐标          在cocos2d中,在我们在CCLayer中处理 ccTouchesBegan等类似 ...

  5. android 从服务端获取的图片怎么适配不同分屏幕的手机,移动端的适配|切图|标注...

    年前最后一个工作日,完成这篇干货- 这篇文章的目的是想从更深的原理层去找到一些设计规范的原因,比如为什么要选用@2x的750*1334做基础设计稿? 开发拿到设计基础稿是如何操作适配的? 基础稿是如何 ...

  6. Android 自定义View取色盘、颜色选择器、可根据颜色值反向定位坐标

    前言: 前段时间项目中需要用到色盘取色的功能,百度了许多相关的颜色选择器,发现这方面自定义View例子比较少,有用图片代替色盘的通过bitmap取色,但是只能取色,无法通过颜色值去定位在色盘上的坐标, ...

  7. unity 如何获取到屏幕中间_【Unity】屏幕空间位置变换到世界空间位置的方法

    屏幕空间像素的位置,是一个二维的浮点数,而世界空间的位置,则是三维的浮点数.实现的基本思路很简单,是世界空间位置变换到屏幕空间位置的逆过程,只是稍微有些区别.如果对图形渲染管线中的坐标变换没有弄清楚, ...

  8. Python Matplotlib数据可视化绘图之(六)————图片大小、颜色、标题、纵横坐标、画布和绘图区域背景颜色、Legend(图例)等的参数设置详解

    文章目录 前言 一.图片大小的设定和调节 1. 三种调整matplotlib图片大小的方法 1.1 plt.figure(figsize=(n, n)) 1.1.1 代码如下: 1.1.2 输出结果如 ...

  9. 像素是如何绘制到屏幕上的?

    不知道大家有没有这个疑问,就是电脑上或者手机上的东西,如何显示在屏幕上.在显示的过程中,到底发生了什么事情?反正我一直有这个疑问,在初中时候就有了,现在都已经30多岁了,还是有这个疑问,我大学时候做了 ...

最新文章

  1. vue打包后图片找不到情况
  2. [官版翻译]OpenStack centos版安装(三)
  3. 什么是AWS Lambda?——事件驱动的函数执行环境
  4. php监控nginx,Zabbix添加nginx-php监控
  5. 【有上下界网络流】【ZOJ】2314 Reactor Cooling
  6. 利用云安监控和管理云
  7. CSS提高需要关注的国外网站
  8. 图灵奖得主Jeff Ullman:机器学习不是数据科学的全部!统计学也不是!
  9. Weblogic 数据源及连接池配置问题Warning! Connectivity to backend database not verified
  10. 时序分析基本概念介绍<Slew/Transition>
  11. java连接池hkai,MySQL连接配置文件密码加密及其在多种连接池上的应用
  12. RocketMQ开发指导之一——RocketMQ简介
  13. 招投标系统简介 招投标系统源码 java招投标系统 spring cloud spring boot 招投标系统功能设计
  14. Android——启动本地QQ,实现与指定的QQ号临时会话
  15. java调用WebService接口工具
  16. 其它——Siege压力测试工具使用
  17. MATLAB | 好看的配对箱线图绘制模板
  18. 【TensorFlow】DNNRegressor 的简单使用
  19. spring boot校园二手销售网站 毕业设计源码161417
  20. PDN仿真笔记5-电容走线影响寄生电感的因素分析

热门文章

  1. 除了迅雷还有谁在“偷”你的信息?
  2. 虚拟主机能做游戏服务器么,虚拟主机做游戏服务器吗
  3. C语言占位符 格式占位符
  4. 体重预测[线性回归]
  5. 转载:SRT传输库评估报告(V1.0.0)
  6. ubuntu20.04如何录制屏幕
  7. 无责任猜想#冰桶挑战#大佬们相爱相杀众生相
  8. 更新后的哥德巴赫猜想(位运算)
  9. 我的 Python 全栈开发自学笔记
  10. 小朋友把游戏藏在计算机里,如何设置孩子玩电脑游戏的时间