「图着色java」图着色问题算法时间复杂度
本篇文章给大家谈谈图着色java,以及图着色问题算法时间复杂度对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、用java能分辨出一张图片的不同部位颜色吗
- 2、java地图着色问题
- 3、求JAVA高手,修改程序图的M着色
- 4、java中怎么对特定的一个圆上色
- 5、java画图中怎样把两个相交圆着色
- 6、大佬们 如何将一张人脸照片的肤色改变,下面这张人脸图的肤色,和鼻子部位图颜色变成一样使用java
用java能分辨出一张图片的不同部位颜色吗
准确的说是可以。
JAVA可以读入一个图片到内存保存为字节数组,再从数组中找到对应的位置下标,以数组内容判断RGB颜色。不过一般人是不会这么做的。
要看你是在什么项目以什么目的需求来取颜色。大部分方案都是以特殊技巧来实现你所提出的问题。
打个比方,如果图片是我自己上传的,只是显示给别人看的,那么我会把图片不同部位自定义编码,不同编码对应不同颜色。然后在显示时对图片设置热区就行了
java地图着色问题
建议百度搜索地图着色问题,这是一个数学问题,印象中应该是个图的问题,所以你要先会用数学方式解决,其次才是用程序代码描述出来。
求JAVA高手,修改程序图的M着色
//错误已修改,可以运行
//程序中[][]a 没有设置,默认为false,所以 check方法一直返回true,不过就算设置了也一样
//恕我才疏学浅,没看懂你的程序到底干了些什么
class coloring{
static int []x=new int[5];
static int n=4,m;
static boolean [][]a=new boolean[5][5];
static long sum;
public static long mcoloring(int mm)
{
m=mm;
sum=0;
backtrack(1);
return sum;
}
public static void backtrack(int t)
{
if(tn)
{ sum++;
for(int i=1;i=n;i++)
System.out.print(x[i]+" ");
System.out.println();
}
else
for(int i=1;i=m;i++)
{
x[i]=i;
if(check(t))
backtrack(t+1);
x[i]=0;
}
}
public static boolean check(int k)
{
for(int j=1;j=n;j++)
if(a[k][j](x[j]==x[k]))
return false;
return true;
}
public static void main(String []args)
{
coloring color=new coloring();
color.mcoloring(3);
}
}
java中怎么对特定的一个圆上色
java swing中指定圆的颜色,最常用的有两种方法
方法一:画圆的时候就指定画笔的颜色,那么画出的颜色就是制定的颜色。
public void paint(Graphics g) {
g.setColor(Color.BLUE);
g.fillOval(50, 8, 50, 50);
}
这种方法的优点: 代码码量少,简洁
缺点:指定颜色后,不好修改。不够灵活
方法二:指定构造方法中有一个Color变量。设置get set方法
class MyJPanel extends JPanel{
Color c;
public MyJPanel(Color c) {
this.c = c ;
}
@Override
public void paint(Graphics g) {
g.setColor(c);
g.fillOval(50, 8, 50, 50);
}
public Color getC() {
return c;
}
public void setC(Color c) {
this.c = c;
}
}
方法二的优点:方便灵活,能通过set get方法轻松修改圆圈颜色
缺点:代码稍多,改变颜色后需要repaint()一下
代码案例供参考
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Circle extends JFrame{
MyJPanel jp;
public Circle() {
jp = new MyJPanel(Color.RED);
this.setLayout(new BorderLayout());
this.add(jp,BorderLayout.CENTER);
this.setBounds(300, 200, 150, 100);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
try {
Thread.sleep(500);
jp.setC(new Color(210,250,0));
jp.repaint();
} catch (InterruptedException e) {
}
}
public static void main(String[] args) {
new Circle();
}
}
class MyJPanel extends JPanel{
Color c;
public MyJPanel(Color c) {
this.c = c ;
}
@Override
public void paint(Graphics g) {
g.setColor(c);
g.fillOval(50, 8, 50, 50);
}
public Color getC() {
return c;
}
public void setC(Color c) {
this.c = c;
}
}
java画图中怎样把两个相交圆着色
可以用半透明,这个给你参考
import java.awt.AlphaComposite;
import java.awt.Color;
import java.awt.Composite;
import java.awt.Container;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.geom.Rectangle2D;
import javax.swing.JComponent;
import javax.swing.JFrame;
public class MainClass {
public static void main(String[] args) {
JFrame jf = new JFrame("Demo");
Container cp = jf.getContentPane();
MyCanvas tl = new MyCanvas();
cp.add(tl);
jf.setSize(300, 200);
jf.setVisible(true);
}
}
class MyCanvas extends JComponent {
public void paint(Graphics g) {
Graphics2D g2 = (Graphics2D)g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
Rectangle2D r = new Rectangle2D.Double(50, 50, 150, 100);
g2.setPaint(Color.red);
g2.fill(r);
Composite c = AlphaComposite.getInstance(AlphaComposite.SRC_OVER,
.4f);
g2.setComposite(c);
g2.setPaint(Color.blue);
g2.setFont(new Font("Times New Roman", Font.PLAIN, 72));
g2.drawString("", 25, 130);
}
}
大佬们 如何将一张人脸照片的肤色改变,下面这张人脸图的肤色,和鼻子部位图颜色变成一样使用java
网页链接
使用JAVA对图片进行效果变换
但效果当然没有PS处理高级了,一方面是精度问题,位置要合适。一方法是颜色着色叠加。
关于图着色java和图着色问题算法时间复杂度的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。