标签: graphics

为功率计生成红色和绿色之间的颜色?

我正在写一个Java游戏,我想要实现一个功率计,你会有多难拍摄一些东西.

我需要编写一个在0到100之间取一个int的函数,根据该数字的高度,它将返回Green(功率刻度为0)和Red(功率刻度为100)之间的颜色.

与音量控制的工作方式类似:
音量控制

我需要对颜色的红色,绿色和蓝色组件进行哪些操作才能生成绿色和红色之间的颜色?

所以,我可以说,getColor(80)它将返回一个橙色(它的值在R,G,B)或getColor(10)将返回更多的绿色/黄色RGB值.

我知道我需要为新颜色增加R,G,B值的分量,但我不知道颜色从绿色 - 红色偏移时的上升或下降.


进展:

我最终使用了HSV/HSB色彩空间,因为我更喜欢渐变色(中间没有深褐色).

我使用的功能是:

public Color getColor(double power)
{
    double H = power * 0.4; // Hue (note 0.4 = Green, see huge chart below)
    double S = 0.9; // Saturation
    double B = 0.9; // Brightness

    return Color.getHSBColor((float)H, (float)S, (float)B);
}
Run Code Online (Sandbox Code Playgroud)

其中"功率"是介于0.0和1.0之间的数字.0.0将返回亮红色,1.0将返回亮绿色.

Java Hue图表:
Java Hue图表

language-agnostic graphics interpolation colors

133
推荐指数
6
解决办法
8万
查看次数

漂亮的图形和图表在Python中

在Python应用程序中创建漂亮图表和图形的可用库有哪些?

python graphics

130
推荐指数
7
解决办法
11万
查看次数

glLoadIdentity()在OpenGL中做什么?

我是OpenGL的新手,我对代码中的所有随机函数都有点不知所措.他们工作,我知道何时使用它们,但我不知道为什么我需要它们或他们实际做什么.

我知道glLoadIdentity()用当前矩阵替换当前矩阵,但究竟是做什么的呢?如果每个程序都需要它,除非另有说明,为什么默认情况下不是单位矩阵?除非我知道他们做了什么,否则我不喜欢在我的代码中使用函数.我应该注意到,我专门为丰富的2D客户端使用OpenGL,所以请原谅我的无知,如果这对于3D非常明显.

关于glMatrixMode(GL_PROJECTION)VS 也有点困惑glMatrixMode(GL_MODELVIEW).

opengl graphics

130
推荐指数
3
解决办法
8万
查看次数

如何在Python中读取给定像素的RGB值?

如果我打开图像open("image.jpg"),我怎么能得到一个像素的RGB值,假设我有像素的坐标?

然后,我该怎么做呢?从空白图形开始,"写入"具有特定RGB值的像素?

如果我不必下载任何其他库,我更愿意.

python graphics rgb pixel

124
推荐指数
6
解决办法
27万
查看次数

测量在Canvas(Android)上绘制的文本高度

有没有直接测量文字高度的方法?我现在这样做的方法是使用Paint measureText()来获取宽度,然后通过试验和错误找到一个值来获得近似高度.我也一直在搞乱FontMetrics,但所有这些似乎都是近似的方法.

我正在尝试扩展不同分辨率的东西.我可以做到,但我最终得到了令人难以置信的冗长代码,并通过大量计算来确定相对大小.我讨厌它!一定有更好的方法.

graphics android view android-canvas

119
推荐指数
4
解决办法
9万
查看次数

如何使用ggplot2在R中制作具有透明背景的图形?

我需要从透明背景输出从R到PNG文件的ggplot2图形.基本的R图形一切都很好,但ggplot2没有透明度:

d <- rnorm(100) #generating random data

#this returns transparent png
png('tr_tst1.png',width=300,height=300,units="px",bg = "transparent")
boxplot(d)
dev.off()

df <- data.frame(y=d,x=1)
p <- ggplot(df) + stat_boxplot(aes(x = x,y=y)) 
p <- p + opts(
    panel.background = theme_rect(fill = "transparent",colour = NA), # or theme_blank()
    panel.grid.minor = theme_blank(), 
    panel.grid.major = theme_blank()
)
#returns white background
png('tr_tst2.png',width=300,height=300,units="px",bg = "transparent")
p
dev.off()
Run Code Online (Sandbox Code Playgroud)

有没有办法用ggplot2获得透明背景?

graphics transparency r ggplot2

113
推荐指数
3
解决办法
8万
查看次数

如何以编程方式获取Android导航栏的高度和宽度?

Android屏幕底部的黑色导航栏无法轻松移除.它从3.0开始就是Android的一部分,作为硬件按钮的替代品.这是一张图片:

系统栏

如何获得此UI元素的宽度和高度的大小(以像素为单位)?

graphics user-interface android android-activity

113
推荐指数
8
解决办法
10万
查看次数

从Android中的位图裁剪圆形区域

我有一个位图,我想从这个位图裁剪一个圆形区域.圆圈外的所有像素都应该是透明的.我怎样才能做到这一点?

在此输入图像描述

graphics user-interface android android-layout

105
推荐指数
8
解决办法
9万
查看次数

Android:支持所有设备的背景图像大小(以像素为单位)

我正在创建一个将在所有Android设备上运行的应用程序.我想为我的应用程序创建xhdpi Graphics.我的应用程序全屏.我对创建图形很困惑.谁能告诉我背景图像的最佳尺寸(以像素为单位).

例如:

  • xhdpi:720x1280像素
  • hdpi:480x800像素
  • mdpi:320x480像素
  • ldpi:240x320像素

建议我在所有设备上出现的最佳尺寸.因为我的图形是我的应用程序的核心.

我希望每台设备都能获得想要的最佳图像.Android将不参与压缩或扩展图像.

graphics android

102
推荐指数
4
解决办法
16万
查看次数

opengl:glFlush()对阵glFinish()

我无法区分调用glFlush()和调用之间的实际区别glFinish().

文档说glFlush()并且glFinish()会将所有缓冲操作推送到OpenGL,以便可以确保它们都将被执行,区别在于glFlush()直接返回作为glFinish()块的所有操作都完成.

阅读完定义之后,我认为如果我使用glFlush()它,我可能会遇到向OpenGL提交更多操作而不是执行的问题.所以,只是为了尝试,我换掉了我glFinish()的东西glFlush(),看,我的程序运行(据我所知),完全相同; 帧率,资源使用,一切都是一样的.

所以我想知道这两个调用之间是否存在很大差异,或者如果我的代码使它们运行没有区别.或者应该使用哪一个而不是另一个.我还认为OpenGL会有一些调用,比如glIsDone()检查a的所有缓冲命令glFlush()是否完整(因此不会比OpenGL更快地发送操作到OpenGL),但我找不到这样的函数.

我的代码是典型的游戏循环:

while (running) {
    process_stuff();
    render_stuff();
}
Run Code Online (Sandbox Code Playgroud)

c c++ opengl graphics

101
推荐指数
6
解决办法
6万
查看次数