标签: drawing

使用System.Drawing绘制圆圈

我有这个代码绘制一个矩形(我试图重新制作MS Paint)

 case "Rectangle":
               if (tempDraw != null)
                {
                    tempDraw = (Bitmap)snapshot.Clone();
                    Graphics g = Graphics.FromImage(tempDraw);
                    Pen myPen = new Pen(foreColor, lineWidth);
                    g.DrawRectangle(myPen, x1, y1, x2-x1, y2-y1);
                    myPen.Dispose();
                    e.Graphics.DrawImageUnscaled(tempDraw, 0, 0);
                    g.Dispose();
                }
Run Code Online (Sandbox Code Playgroud)

但是,如果我想绘制一个圆圈,会发生什么变化呢?

g.DrawRectangle(myPen, x1, y1, x2-x1, y2-y1);
Run Code Online (Sandbox Code Playgroud)

c# drawing

18
推荐指数
3
解决办法
12万
查看次数

在画布上绘制虚线

如何在画布上绘制虚线.我已经尝试过了:

Paint dashPaint = new Paint();
dashPaint.setARGB(255, 0, 0, 0);
dashPaint.setStyle(Paint.Style.STROKE);
dashPaint.setPathEffect(new DashPathEffect(new float[]{5, 10, 15, 20}, 0));
canvas.drawLine(0, canvas.getHeight() / 2, canvas.getWidth(), canvas.getHeight() / 2, dashPaint);
Run Code Online (Sandbox Code Playgroud)

它给了我一条简短的线条,而不是一条线条.

android drawing canvas

18
推荐指数
1
解决办法
2万
查看次数

"徒手"的方式画出闪亮的形状?

是否有一种功能或其他方式可以使用鼠标在Shiny中实现徒手绘制(即绘制随机形状/大小)?

具体来说,我希望能够renderPlot通过以各种(但非均匀)方式标记它来与图形"交互" . - 换句话说,我希望能够标记已经存在的图形.

我的功能缺点已经发现包括:

  1. 绘制点,线,矩形或圆形的工具对我来说不够灵活.
  2. 工具并不总是与click_plot交互类型的设置兼容.

plot drawing rendering r shiny

18
推荐指数
3
解决办法
2379
查看次数

UIView:如何进行非破坏性绘图?

我原来的问题:

我正在创建一个简单的绘图应用程序,需要能够绘制我现有的,先前绘制的内容drawRect.在不完全替换现有内容的情况下绘制现有内容的正确方法是什么?

根据这里和其他地方收到的答案,这是交易.

  1. 您应该准备好在drawRect 调用时重绘整个矩形.

  2. 无法通过执行以下操作阻止内容被删除:

    [self setClearsContextBeforeDrawing: NO];

    这仅仅是对图形引擎的暗示,没有必要让它为您预先清除视图,因为您可能需要重新绘制整个区域.它可能会阻止您的视图被自动删除,但您不能依赖它.

  3. 要在不擦除的情况下在视图上绘制,请将绘图绘制到屏幕外位图上下文(系统永远不会清除它).然后在您drawRect的屏幕外缓冲区中复制到视图.

例:

- (id) initWithCoder: (NSCoder*) coder {    
     if (self = [super initWithCoder: coder]) {
         self.backgroundColor = [UIColor clearColor];
         CGSize size = self.frame.size;
         drawingContext = [self createDrawingBufferContext: size];
     }

     return self;
 }

- (CGContextRef) createOffscreenContext: (CGSize) size  {
    CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
    CGContextRef context = CGBitmapContextCreate(NULL, size.width, size.height, 8, size.width*4, colorSpace, kCGImageAlphaPremultipliedLast);
    CGColorSpaceRelease(colorSpace);

    CGContextTranslateCTM(context, 0, size.height);
    CGContextScaleCTM(context, 1.0, -1.0); …
Run Code Online (Sandbox Code Playgroud)

iphone drawing off-screen uiview cgbitmapcontextcreate

17
推荐指数
1
解决办法
9004
查看次数

C++图形绘图库

有谁知道什么是最好的C++图形绘图库,我想要一个可以绘制基本形状的lib,可以进行图像编辑,渐变和矢量或3D将是伟大的.

窗口绘图功能很复杂,并不是很先进.

c++ drawing

17
推荐指数
2
解决办法
4万
查看次数

如何在Android中使用bicubic插值在画布上绘制和缩放位图?

我想在尺寸大于它的画布上绘制位图.我可以使用canvas.drawBitmap(bitmap,null,destRect,null); 但是如果源图像比目标矩形小得多,则结果是像素化的,质量很差.

如何使用双线性或双三次重采样绘制我的位图?

任何帮助将不胜感激,thanx.

android drawing resize bitmap bicubic

17
推荐指数
1
解决办法
2万
查看次数

关于Android中高性能绘图的提示

背景

我正在为一个Android应用程序编写一个图形库(是的,我知道有很多,但没有提供我们需要的可定制性).

我希望图表可以缩放和平移.

问题

我希望体验顺畅,留下小巧的CPU占用空间.

解决方案

View.onDraw():

优点

  • 一些易于实现的东西

缺点

  • 表现不好?(除非它使用OpenGL,是吗?)

位图:

优点

  • 真的很容易实现
  • 很好的表现;很好的绩效

缺点

  • 必须使用丑陋的缩放

OpenGL的:

优点

  • 可能性能很好,取决于我的实现

缺点

  • 更多工作要实施

最后的话

OpenGL可能是专业的解决方案,肯定会提供更多的灵活性,但它需要更多的工作(多少不清楚).

有一点在OpenGL中更容易实现平移/缩放,因为我可以操纵矩阵来使其正确,其余的应该更难,尽管我认为.

我不怕弄脏手,但我想知道在开始挖掘之前我正朝着正确的方向前进.

我错过了任何解决方案吗?我所有的解决方案都理智吗?


补充说明:

我可以补充一点,当图形发生变化时,我希望对变化进行动画处理,这可能是最苛刻的任务.

performance android drawing rendering opengl-es

17
推荐指数
1
解决办法
3365
查看次数

如何在C#.NET中更改图像的像素颜色

我正在使用Java中的Images,我设计了超过100种图像(.png)格式,它们都是Trasparent和Black Color Drawing.

问题是,现在我被要求改变绘图的颜色(黑色 - ).

我搜索了许多在谷歌剪辑的代码,它改变了图像的位图(像素),但我不是在猜测我必须做什么来匹配精确的像素,并在图像处于透明模式时特别替换.下面是.Net中的代码(C#)

        Bitmap newBitmap = new Bitmap(scrBitmap.Width, scrBitmap.Height);
        for (int i = 0; i < scrBitmap.Width; i++)
        {
            for (int j = 0; j < scrBitmap.Height; j++)
            {                    
                originalColor = scrBitmap.GetPixel(i, j);
                if(originalColor = Color.Black)
                  newBitmap.SetPixel(i, j, Color.Red);
            }
        }            
        return newBitmap;
Run Code Online (Sandbox Code Playgroud)

但它根本没有匹配,我调试了它,在整个文件中,没有Color(originalColor)变量的Red,Green,Blue参数值.

有人可以帮忙吗?

.net c# drawing pixels bitmapimage

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

如何在swift(圆角)中绘制一个简单的圆角矩形

我设法绘制了一个矩形:-)但我不知道如何画一个圆形的矩形.有人可以帮助我使用以下代码如何围绕矩形?:

let canvas = UIGraphicsGetCurrentContext()
rec = CGRectMake(0, 0, 40, 40);

//var maskPath = UIBezierPath(roundedRect: rec, byRoundingCorners: .BottomLeft | .BottomRight, cornerRadii: CGSize(width: 3, height: 3))

CGContextAddRect(canvas, rec);
CGContextFillPath(canvas);
Run Code Online (Sandbox Code Playgroud)

drawing ios swift

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

如何在c#中绘制圆角矩形

我正在使用此代码来制作圆角矩形.但它只绘制了rectanlge的左上角和右上角,更不能完成下部的矩形.如何使其完整和充实.我应该做些什么改变?

public static Bitmap DrawRoundedRectangle(Bitmap Image, Color BoxColor, int XPosition, int YPosition,
        int Height, int Width, int CornerRadius)
    {
     Bitmap NewBitmap = new Bitmap(Image, Image.Width, Image.Height);
     using (Graphics NewGraphics = Graphics.FromImage(NewBitmap))
    {
        using (Pen BoxPen = new Pen(BoxColor))
        {
            using (GraphicsPath Path = new GraphicsPath())
            {
                   Path.AddLine(XPosition + CornerRadius, YPosition, XPosition + Width - (CornerRadius * 2), YPosition);
                    Path.AddArc(XPosition + Width - (CornerRadius * 2), YPosition, CornerRadius * 2, CornerRadius * 2, 270, 90);
                  Path.AddLine(XPosition + Width, YPosition + CornerRadius, …
Run Code Online (Sandbox Code Playgroud)

c# graphics drawing rectangles winforms

17
推荐指数
2
解决办法
2万
查看次数