标签: drawing

用.NET绘图

我正在寻找一些Drawing类(包),它将使我能够以一种简单的方式绘制如下图像.

alt text http://www.freeimagehosting.net/uploads/e96ab74410.jpg

我没有绘画经验所以我很乐意听取建议.

我的图片链接

.net c# drawing

5
推荐指数
1
解决办法
808
查看次数

WPF矩形填充水平或垂直线

我正在尝试创建一个填充水平或垂直线的矩形.矩形的宽度是动态的,所以我不能使用图像画笔.如果有人知道任何解决方案,请告诉我.

wpf drawing

5
推荐指数
2
解决办法
8664
查看次数

可可:使用NSGradient作为掩模在其下方绘图

我试图用Cocoa绘制一个形状的反射.我已经应用了NSAffineTransform并成功重新绘制了形状,但现在我无法弄清楚如何在其上绘制alpha蒙版.我正在使用一个NSCompositeDestinationOut操作,但它给了我一个不需要的结果:alt text http://img687.imageshack.us/img687/2417/capturedcran20100623094.png

我不确定如何解决这个问题 - 我需要这样做才能使渐变仅作为alpha蒙版而实际显示.我使用错误的合成模式吗?

谢谢!如果需要,这是渐变代码:

- (void)fadeOutRect:(NSRect)rect {
    [NSGraphicsContext saveGraphicsState];
    [[NSGraphicsContext currentContext] setCompositingOperation:NSCompositeDestinationOut];

    NSGradient *gradient = [[NSGradient alloc] initWithColorsAndLocations:
                            [[NSColor blackColor] colorWithAlphaComponent:0.5], 0.0,
                            [[NSColor blackColor] colorWithAlphaComponent:1.0], 0.8, nil];
    [gradient drawInRect:NSMakeRect(rect.origin.x, rect.origin.y + rect.size.height - ( PILL_HEIGHT * 2 ),
                                    rect.size.width, PILL_HEIGHT) angle:270];

    [NSGraphicsContext restoreGraphicsState];
}
Run Code Online (Sandbox Code Playgroud)

cocoa drawing gradient compositing

5
推荐指数
1
解决办法
2005
查看次数

鉴于其三面,在坐标平面中绘制三角形

将给出三角形的三边长度a,b和c,我需要找到顶点的坐标.中心(可能是外心)可以是原点或(x,y).

谁能指出我正确的方向?

math html5 drawing canvas graph

5
推荐指数
3
解决办法
6059
查看次数

沿iOS中的路径均匀分布图像

我想做的是将手指移过屏幕(touchesMoved)并沿着touchesMoved生成的点绘制均匀间隔的图像(可能是CGImageRefs).我可以绘制线条,但我想要生成的东西看起来像这样(对于这个例子我使用箭头的图像,但它可能是任何图像,可能是我的狗的照片:))主要的是用手指在iPhone或iPad上绘图时,使图像均匀分布.

在此输入图像描述

drawing core-graphics ios

5
推荐指数
2
解决办法
1909
查看次数

刷新gtk中的绘图区域

我在滚动的窗口中有一堆绘图区域(它们实际上是cairo曲面,但我认为不重要),我想刷新绘图.但是,当我重绘图像时,直到我向上和向下滚动窗口才会显示它们.之后数字是正确的,所以我必须得出结论,绘图程序本身是正确的.我还包括一个

    while Gtk.events_pending():
       Gtk.main_iteration()
Run Code Online (Sandbox Code Playgroud)

循环等待所有挂起的操作,但这不能解决问题.有人能指出我还缺少什么吗?

谢谢,

v923z

好的,所以更大的代码块.首先,定义我要绘制的绘图区域的类(请注意,正文没有正确缩进!我不知道如何在这里缩进更大的代码片段):

class Preview:
def __init__(self):
    self.frame = Gtk.Frame()
    self.frame.set_shadow_type(Gtk.ShadowType.IN)
    self.frame.show()
    self.da = Gtk.DrawingArea()
    self.da.set_size_request(200, 300)
    self.da.connect('configure-event', self.configure_event)
    self.da.connect('draw', self.on_draw)
    self.frame.add(self.da)
    self.da.show()

def configure_event(self, da, event):
    allocation = da.get_allocation()
    self.surface = da.get_window().create_similar_surface(cairo.CONTENT_COLOR,
                                                            allocation.width,
                                                            allocation.height)
    cairo_ctx = cairo.Context(self.surface)
    cairo_ctx.set_source_rgb(1, 1, 1)
    cairo_ctx.paint()
    return True

def on_draw(self, da, cairo_ctx):
    cairo_ctx.set_source_surface(self.surface, 0, 0)
    cairo_ctx.paint()
    return True

pass
Run Code Online (Sandbox Code Playgroud)

接下来,我实际创建绘图区域的点.viewport_preview是在glade中创建的视口.

    self.previews = []
    self.widget('viewport_preview').remove(self.vbox_preview)
    self.vbox_preview = Gtk.VBox(homogeneous=False, spacing=8)
    self.widget('viewport_preview').add(self.vbox_preview)
    self.vbox_preview.show()

    for page in self.pages:
        preview = Preview()
        self.vbox_preview.pack_start(preview.frame, False, …
Run Code Online (Sandbox Code Playgroud)

gtk drawing pygtk refresh area

5
推荐指数
1
解决办法
8795
查看次数

在iOS上组合相交CGPath

我在正在处理的应用程序中遇到问题.假设我有两个相当复杂的CGPath,我将它们都添加到CGMutablePath(因此将它们组合在一起).那么,在两条路径相交的地方,将会有彼此内部的点.我想消除那些内部点,并基本上绘制路径的外部或轮廓.我很难搞清楚如何解决这个问题.

编辑:这是我正在谈论的一个例子.蓝色和红色框表示沿CGPath的点.红色框是两个路径中的点.我想以某种方式消除红点并重新绘制路径的轮廓.

在此输入图像描述

drawing quartz-2d cgpath ios

5
推荐指数
1
解决办法
2768
查看次数

Java Swing - 将矩形拖到JPanel上的有效方法?

我有一些代码来绘制矩形.它用于在a上绘制矩形JPanel,以标记小部件的边界.这里代码首先,之后我将解释我的问题cq.题.

首先,我有一个WidgetDrawingPanel扩展的类()JPanel.

public WidgetDrawingPanel(int width, int height) {
    /*To make things visible at least*/
    widgets.add(new Widget(10,10,100,100, WidgetType.TextField));
    widgets.add(new Widget(50,50,100,200, WidgetType.TextField));
    this.width = width;
    this.height = height;
    this.setBackground(Color.BLUE);
    addListener(); //adds both MouseMotionListener and MouseListener
}
Run Code Online (Sandbox Code Playgroud)

下面你会看到我ch很多参考.这是一个CoordinateHolder,它保存我的鼠标移动的开始和当前坐标.

private void addListener() {
    this.addMouseMotionListener(new MouseMotionListener() {
        @Override
        public void mouseDragged(MouseEvent arg0) {
            ch.currentX = arg0.getX();
            ch.currentY = arg0.getY();
            System.out.println("dragging " + ch.currentX + ","+ch.currentY);
            WidgetDrawingPanel.this.repaint();
        }
    });
    this.addMouseListener(new MouseListener() {
        @Override
        public void mouseReleased(MouseEvent …
Run Code Online (Sandbox Code Playgroud)

java user-interface swing drawing

5
推荐指数
1
解决办法
1011
查看次数

相互连接的曲线

给定一系列JSON坐标,通常采用以下格式:

{from: {x:0, y:0}, to: {x:0, y:10}, ...}
Run Code Online (Sandbox Code Playgroud)

我想绘制一系列直线虚线路径,这些路径与简单的固定半径圆角相连.我一直在寻找斜率截距形式来计算直线上的点,但我对于计算(贝塞尔?)曲线上的点的方法感到有些困惑.

例如,我想在p1和p2以及p3和p4之间绘制曲线.尽管可怜的模型可能意味着我很高兴角落是一个固定的半径,例如10px

路径

我想抽象出绘图逻辑,因此我正在寻找一种通用的方法来返回一个JavaScript点数组,然后我可以通过多种方式进行渲染(因此我避免使用SVG,Canvas等提供的任何内置函数).

javascript algorithm drawing

5
推荐指数
1
解决办法
131
查看次数

Graphics.DrawString绘制后如何将其删除(撤消重做)?

有没有办法拉线然后将其删除?

我已经使用以下类来撤消/重做矩形,圆形,直线,箭头类型的形状,但无法确定如何删除绘制的字符串。

https://github.com/Muhammad-Khalifa/Free-Snipping-Tool/blob/master/Free%20Snipping%20Tool/Operations/UndoRedo.cs

https://github.com/Muhammad-Khalifa/Free-Snipping-Tool/blob/master/Free%20Snipping%20Tool/Operations/Shape.cs

https://github.com/Muhammad-Khalifa/Free-Snipping-Tool/blob/master/Free%20Snipping%20Tool/Operations/ShapesTypes.cs

这是我在形状列表中添加Rectangle的方式:当我从列表中撤消或重做时,此方法效果很好。

抽绳

Shape shape = new Shape();
shape.shape = ShapesTypes.ShapeTypes.Rectangle;
shape.CopyTuplePoints(points);
shape.X = StartPoint.X;
shape.Y = StartPoint.Y;
shape.Width = EndPoint.X;
shape.Height = EndPoint.Y;

Pen pen = new Pen(new SolidBrush(penColor), 2);
shape.pen = pen;
undoactions.AddShape(shape);
Run Code Online (Sandbox Code Playgroud)

这是我绘制文本的方式:

var fontFamily = new FontFamily("Calibri");
var font = new Font(fontFamily, 12, FontStyle.Regular, GraphicsUnit.Point);

Size proposedSize = new Size(int.MaxValue, int.MaxValue);
TextFormatFlags flags = TextFormatFlags.WordEllipsis | TextFormatFlags.NoPadding | TextFormatFlags.PreserveGraphicsClipping | TextFormatFlags.WordBreak;

Size size = TextRenderer.MeasureText(e.Graphics, textAreaValue, font, proposedSize, flags);

Shape shape = …
Run Code Online (Sandbox Code Playgroud)

.net c# drawing gdi+ winforms

5
推荐指数
1
解决办法
757
查看次数