标签: drawing2d

Android Draw 9补丁工具:图中黑线的含义是什么

我试过在google和android中找到这个问题.还做了几次试验和错误,但无法得到这个问题.我正在学习Android的"Draw Nine Patch"图像.我知道的一个基本原则是,无论你处理什么图像都必须是.png格式(如果它已经在.9.png中,那么它将被工具忽略).然而,

  1. 我无法理解它的字面意思是"可拉伸的补丁"?
  2. 在.png图像外部绘制黑点时会发生什么?(预览窗格显示正在发生的变化,但我不知道它是如何制作的)
  3. 当我在图像的左/上侧绘制黑点时,它会在预览中显示一些变化; 但是当你在图像的右/底侧做同样的事情时,为什么没有任何效果呢?
  4. 当我们尝试处理图像本身时,为什么这个工具主要用于背景?
  5. 我正在尝试修改一个简单的button.png(在android sdk中给出).每当我使用此工具并绘制黑色线条时,它会缩小图像的大小而不是"拉伸"它!为什么?
  6. 下面给出的选项有什么意义,比如"show lock","show content","Patch scale"等等?

我为提出这么多问题而道歉,但在Android在线文档中他们没有为新手解释得很好.如果有人可以回答这些问题,它将成为所有搜索此论坛的初学者的准备参考.

android drawing2d

14
推荐指数
1
解决办法
8539
查看次数

如何知道线是否与矩形相交

我已经查看了这个问题,但答案对我来说非常大:

如何知道一条线是否与C#中的平面相交? - 基本2D几何

是否有任何.NET方法可以知道由两个点定义的直线是否与矩形相交?

public bool Intersects(Point a, Point b, Rectangle r)
{
   // return true if the line intersects the rectangle
   // false otherwise
}
Run Code Online (Sandbox Code Playgroud)

提前致谢.

.net c# drawing drawing2d winforms

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

如何在c#中使用投影/相机技术

我画了以下网格:

网格(顶视图)

使用以下两种方法绘制上述网格,一种用于计算网格,另一种用于计算每个单元格的中心:

//makes grid in picture box
private void drawGrid(int numOfCells, int cellSize, Graphics gr)
{
    Pen p = new Pen(Color.SteelBlue);

    for (int i = 0; i < Math.Sqrt(numOfCells) + 1; i++)
    {
        // Vertical
        gr.DrawLine(p, i * cellSize + 300, 200, i * cellSize + 300, 700);
        // Horizontal
        gr.DrawLine(p, 300, i * cellSize+200, 800, i * cellSize+200);
    }

    this.topology.SendToBack();
}


//draw the center point for each cell of the grid 
private void drawCenters(Graphics gr)
{
    for (int j …
Run Code Online (Sandbox Code Playgroud)

c# system.drawing graph-drawing drawing2d

12
推荐指数
1
解决办法
814
查看次数

我需要一个像素完美的三角形填充算法来避免混叠伪像

我正在协助有人使用用户界面代码来可视化数学图像分析.在此过程中,我们将2D形状的一部分分割为三角形,并在UI上填充其中一些三角形.

我们正在寻找一种填充算法,该算法可以保证如果两个三角形共享一条边(具体来说,如果三角形的任意两个顶点相同),那么无论绘制顺序和锯齿是什么,线上都不会有空白的未拉伸像素两者之间.(如果某些像素被绘制两次,那就没问题.)在任意缩放下,结果应该看起来不错.某些三角形可能是非常薄的细长条,宽度低至1像素.

理想情况下,它也应该是一个合理有效的填充算法!

在三角形渲染中不会使用消除锯齿,因为最终图像需要为1位深度.

上下文是图像识别应用程序,因此所有顶点坐标都精确到一个像素.

c graphics drawing drawing2d

10
推荐指数
1
解决办法
7850
查看次数

易于使用的c或c ++绘图库?

我需要一个非常容易使用的绘图c或c ++库.这意味着我不需要在其中放置按钮,框架或其他任何东西,但我只需要在图形窗口上绘制点,圆,线.那可能吗?

c c++ drawing drawing2d

9
推荐指数
2
解决办法
9319
查看次数

什么是适用于Windows/C++的优秀2D图形绘制API?

我一直在研究一个小应用程序,我一直在使用DirectX/3D在屏幕上绘制纹理(所有二维元素).我发现,API很容易使用,并且使用OOP原则进行合并,但是我不禁觉得在这个小的东西上使用DirectX是疯狂的过度杀戮.

不过,我似乎无法就一个好的选择找到共识.有什么建议?

编辑:本机alpha混合和PNG文件支持是必要的.

Jengerer拥有很多先发制人的爱

c++ windows api directx drawing2d

8
推荐指数
2
解决办法
5820
查看次数

是否有HatchStyle枚举的图形概述?

填充图案由两种颜色组成:一种由BackgroundColor定义,用于填充背景,另一种用于在ForegroundColor属性定义的背景上形成图案的线条.所述HatchStyle属性定义了刷子具有什么类型的图案,并且可以是从HatchStyle枚举的任何值.HatchStyle枚举中有五十多个元素.

下图显示了一个填充水平影线图案的椭圆.

图片

就像Color类中定义的颜色一样,我想要一个HatchStyle中定义的所有样式的图形列表,但在MSDN中找不到.你知道这样的概述吗?

.net brush drawing2d hatchstyle

8
推荐指数
1
解决办法
2748
查看次数

如何使用位图绘制路径?

我有一个小绘图应用程序,并希望使用"复杂"形状作为画笔,即一个明星.使用简单的画笔绘制已经可以使用此代码:

remotePath.reset();
remotePath.moveTo(start_x, start_y);

float dx = Math.abs(end_x - start_x);
float dy = Math.abs(end_y - start_y);
if (dx >= TOUCH_TOLERANCE || dy >= TOUCH_TOLERANCE) {
        remotePath.quadTo(start_x, start_y, (end_x + start_x) / 2, (end_y + start_y) / 2);
}

remotePath.lineTo(end_x, end_y);
// commit the path to our offscreen
mCanvas.drawPath(remotePath, remotePaint);
// kill this so we don't double draw
remotePath.reset();
invalidate();
Run Code Online (Sandbox Code Playgroud)

我基本上想要使用这个位图相同的功能:

Bitmap myBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.brush_star);
Run Code Online (Sandbox Code Playgroud)

我的解决方案目前正在使用一个点(坐标)列表来绘制位图.该解决方案的问题在于它仅在给定点处绘制位图,导致每个绘制的位图之间存在间隙.我宁愿想要画一条平滑的线,同时用简单的画笔绘制,两者之间没有任何间隙.

位图绘制的当前代码:

        protected void onDraw(Canvas canvas) {

        // Make canvas white
        canvas.drawColor(Color.WHITE);

        // Paintable area …
Run Code Online (Sandbox Code Playgroud)

android drawing2d android-canvas

7
推荐指数
1
解决办法
9641
查看次数

Android:在Scrollview中绘制画布

我在为Android编程时非常新.我的应用程序是来自开发者android网站上的api demos的示例应用程序.当我更改该样本绘图中的参数时,它会变大.该绘图需要在滚动视图中显示(不需要缩小以适应屏幕).这是我使用的代码:

DrawPoints.java

    public class DrawPoints extends myActivity {


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.routes); 

    }

    public static class SampleView extends View {
        private Paint   mPaint = new Paint();
        private float[] mPts;

       /*here comes declaration of parametars



        private void buildPoints() {

        /*here comes some coding*/

            }
        }

        public SampleView(Context context, AttributeSet attributeset) {
            super(context, attributeSet);

            buildPoints();
        }

        @Override 
        protected void onDraw(Canvas canvas) {
            Paint paint = mPaint;

            //here also comes code
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是xml代码:

routes.xml

<?xml version="1.0" …
Run Code Online (Sandbox Code Playgroud)

android scrollview drawing2d

6
推荐指数
2
解决办法
9609
查看次数

.NET - 围绕调整大小的图像边框

我正在尝试在.NET中调整图像大小,但在调整大小的图像周围会出现一个模糊的黑色边框.我发现了一篇帖子http://social.msdn.microsoft.com/forums/en-US/csharpgeneral/thread/cf765094-c8c1-4991-a1f3-cecdbd07ee15/,其中有人说目标矩形大于画布工作,但这对我不起作用.它的顶部和左边界都是riid,但右边和底部仍然存在,并且是一个完整的1px厚的黑色.

我错过了什么吗?我的代码如下.

Image image = ... // this is a valid image loaded from the source
Rectangle srcRectangle = new Rectangle(0,0,width, height);
        Size croppedFullSize = new Size(width+3,height+3);
        Rectangle destRect = new Rectangle(new Point(-1,-1), croppedFullSize);
        using(Bitmap newImage = new Bitmap(croppedFullSize.Width, croppedFullSize.Height, format))
        using(Graphics Canvas = Graphics.FromImage(newImage)) {
            Canvas.SmoothingMode = SmoothingMode.AntiAlias;
            Canvas.InterpolationMode = InterpolationMode.HighQualityBicubic;
            Canvas.PixelOffsetMode = PixelOffsetMode.HighQuality;
            Canvas.FillRectangle(Brushes.Transparent, destRect);
            Canvas.DrawImage(image, destRect, srcRectangle, GraphicsUnit.Pixel);


            newImage.Save(filename, image.RawFormat);
        }
Run Code Online (Sandbox Code Playgroud)

.net c# graphics drawing2d

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