标签: graphics

带有 g2d 的毕达哥拉斯树

我正在尝试构建我的第一个分形(毕达哥拉斯树):

替代文字 http://img13.imageshack.us/img13/926/lab6e.jpg

在 Java 中使用 Graphics2D。这是我现在所拥有的:

import java.awt.*;
import java.awt.geom.*; 
import javax.swing.*;
import java.util.Scanner;

public class Main {

public static void main(String[] args) {

    int i=0;
    Scanner scanner = new Scanner(System.in);

    System.out.println("Give amount of steps: ");
    i = scanner.nextInt();

    new Pitagoras(i);
    }
}

class Pitagoras extends JFrame {

private int powt, counter;

public Pitagoras(int i) {
    super("Pythagoras Tree.");
    setSize(1000, 1000);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setVisible(true);
    powt = i;
}

private void paintIt(Graphics2D g) {

    double p1=450, p2=800, size=200;

    for (int i = …
Run Code Online (Sandbox Code Playgroud)

java graphics fractals figures

0
推荐指数
1
解决办法
3765
查看次数

如何在 C# 中绘制高质量的旋转字符串?

我想绘制一个字符串并以自定义角度旋转它。简单地说,我计算包含旋转图像的区域的新尺寸,然后创建一个位图对象,并通过它的图形对象,我绘制一个具有 3 次变换(平移到中心、旋转和反向平移)的字符串。我编写了以下代码,但质量不理想。有没有人有想法?

    private Image RotateText(string Text, int FontSize, float Angle)
    {

        //Modify angle
        Angle *= -1;

        //Calculate rotation angle in radian
        double AngleInRadian = (Angle * 2 * Math.PI) / 360d;

        //Instantiate a font for text
        Font TextFont = new Font("Tahoma", FontSize, FontStyle.Bold);

        //Measure size of the text
        Graphics Graphic = this.CreateGraphics();
        SizeF TextSize = Graphic.MeasureString(Text, TextFont);

        //Calculate size of the rotated text
        double NewWidth  = Math.Abs(TextSize.Width * Math.Cos(AngleInRadian)) + Math.Abs(TextSize.Height * Math.Sin(AngleInRadian));
        double NewHeight = Math.Abs(TextSize.Width * Math.Sin(AngleInRadian)) …
Run Code Online (Sandbox Code Playgroud)

c# graphics user-controls

0
推荐指数
1
解决办法
2703
查看次数

C# 图形绘制任何对象

我想在 Windows 窗体上绘制许多不同的形状。以下代码仅适用于矩形。

// render list contains all shapes
List<Rectangle> DrawList = new List<Rectangle>();

// add example data
DrawList.Add(new Rectangle(10, 30, 10, 40));
DrawList.Add(new Rectangle(20, 10, 20, 10));
DrawList.Add(new Rectangle(10, 20, 30, 20));

// draw
private void Form1_Paint(object sender, PaintEventArgs e)
{
    Graphics g = e.Graphics;
    foreach (Rectangle Object in DrawList)
    {
        g.FillRectangle(new SolidBrush(Color.Black), Object);
    } 
}
Run Code Online (Sandbox Code Playgroud)

如何改进代码以处理任何类型的形状,如矩形、直线、曲线等?

我想我需要一个可以包含不同类型对象的列表和一个根据形状类型绘制任何对象的函数。但不幸的是,我不知道该怎么做。

c# generics graphics

0
推荐指数
1
解决办法
3190
查看次数

计算带孔闭合曲线面积的算法

我们的应用程序允许用户追踪由直线和圆弧组成的闭合曲线。这些闭合曲线中可以有孔,孔也由直线和圆弧组成。像这样的东西:

在此处输入图片说明

弧段和直线段的数量、位置、方向、直径和扫描角/角度是可变的。

如何计算不包括孔面积的闭合曲线内的面积?我知道如何通过用一系列线段来逼近弧线来实现这一点。但是有没有更好、更准确的算法来做到这一点?

algorithm graphics geometry curve

0
推荐指数
1
解决办法
1608
查看次数

在 C 中显示颜色数组

我的程序既写入又读取这样的颜色数组:

struct Image {
    size_t width;
    size_t height;
    struct Color *data;
}

struct Color {
    char r;
    char g;
    char b;
}
Run Code Online (Sandbox Code Playgroud)

如何在 C 语言的屏幕上显示这样的数组?

c graphics image bitmap

0
推荐指数
1
解决办法
4293
查看次数

反向图像模糊滤镜(非锐化蒙版)

我正在寻找获得反向模糊过滤器的方法。我有原始位图,我想制作类似高斯模糊反转的东西。

让我们称它为 invB,高斯模糊的操作作为函数 GBlur 和原始图像 O。我想要的过滤器将 invB 作为输出,以便 GBlur(invB) = O。

此操作与锐化图像无关(我认为它会使图像失真而不是使其更清晰)并且永远不会用于从模糊图像中恢复原始图像(它与该问题的假设和可用数据不同)。

缩短 - 过滤器应与原始图像相反,在高斯模糊后给出原始图像。InvB 中可能有更多过滤器。

提前致谢。

#已编辑。

原来的:

在此处输入图片说明

锐化和高斯模糊后:

锐化和模糊的玫瑰

在高斯模糊之后锐化:

模糊和锐化的玫瑰

所以我有原始图像,我必须通过高斯模糊([[1,2,1],[2,4,2],[1,2,1]],/ 16)传递图像并在之前准备原始图像模糊,以便它等于原始图像(尽可能,并且在不可能时最接近原始图像)。

也许由于问题的性质,我无法通过谷歌找到任何东西。请不要通过去模糊来解决这个问题——它根本无济于事。

graphics image-processing filter

0
推荐指数
1
解决办法
9739
查看次数

在android java中转换图像格式

我如何从我的 android 应用程序活动中转换图像格式

我有使用 Java 转换图像格式的代码,但它没有输出高质量的图像,而且类似的代码在 Android 的 Java 中也不起作用。

java graphics android image-manipulation eclipse-adt

0
推荐指数
1
解决办法
9402
查看次数

将多边形旋转 180 度会产生反射吗?

我已经以传统方式在 Java 中编写了反射代码,我知道如何对多边形进行反射。

我的问题是关于尝试新的东西,我在想如果我将多边形旋转 180 度,它会产生多边形的反射吗??我认为它会产生它的反射,但它在数学上是可以接受的吗??

reflection graphics rotation computer-vision

0
推荐指数
1
解决办法
3987
查看次数

如何将缓冲图像中的 IndexColorModel 设置为具有某些颜色和一种透明?

我正在尝试绘制一个显示某物质量的条形图。

我创建了一个这样的缓冲图像:

 private static BufferedImage createBufferedImage(int width, int height) {
        int[] palette = {0x00ff00ff, 0xffff00ff, 0xff0000ff , 0xffff0000};
        IndexColorModel colorModel = new IndexColorModel(2, 4,
            palette, 0, true, 0, DataBuffer.TYPE_BYTE);
        return new BufferedImage(width,height,BufferedImage.TYPE_BYTE_INDEXED, colorModel);
    }  
Run Code Online (Sandbox Code Playgroud)

colorModel 应该有颜色:绿色、黄色、红色和一种透明的。条的颜色取决于质量,如下所示:

 private static Color getBarColor(double quality) {
        if (quality >= 0.70) {
            return Color.GREEN;
        } else if (quality >= 0.40) {
            return Color.YELLOW;
        } else {
            return Color.RED;
        }
    }
Run Code Online (Sandbox Code Playgroud)

我正在创建图形来绘制条形并设置颜色:

Graphics2D g = image.createGraphics();
g.setColor(getBarColor(quality));
Run Code Online (Sandbox Code Playgroud)

但是,当我将质量的颜色设置为大于 0.7 时,它会绘制蓝色条,而对于低于 0.7 的质量,id 会绘制红色。

我认为问题出在我的调色板上,我没有正确设置颜色,当我试图获得绿色并且它不在那里时,设置的可能最接近。我认为格式 RRGGBBAA 应该用于 …

java graphics bufferedimage

0
推荐指数
1
解决办法
1975
查看次数

如何在没有three.js的情况下渲染OBJ模型 - WebGL

我上了计算机图形学课程。所以我想学习,如何渲染 OBJ 模型。当然,我不能使用这样的three.js库。

让我们考虑来自webgl-obj-loader 的模型。

            #   OBJ File Generated by Blender
            #
            ####
            o my_cube.obj
            v 1 1 1
            v -1 1 1
            v -1 -1 1
            v 1 -1 1
            v 1 1 -1
            v -1 1 -1
            v -1 -1 -1
            v 1 -1 -1
            vn 0 0 1
            vn 1 0 0
            vn -1 0 0
            vn 0 0 -1
            vn 0 1 0
            vn 0 -1 0
            f 1//1 2//1 3//1
            f …
Run Code Online (Sandbox Code Playgroud)

javascript graphics rendering webgl

0
推荐指数
1
解决办法
4680
查看次数