标签: drawing

在线检测碰撞

如何在线检测碰撞,最好是点击鼠标?

我不使用XNA.我只使用简单的WinForms.我不会创造一个游戏.

编辑:我从brone链接实现了解决方案,并得到了非常奇怪的结果.这是一个小片段.我做错了什么?粘贴链接

c# drawing collision-detection

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

将线的绘制约束为45度角

我有起点(x1,y1)和所需的线长和角度.

如果角度是方向,0度是W,90是N,180是E,270是S.如果需要,我可以修改它.

如何使用起点,长度和角度来确定终点(x2,y2)?

math geometry drawing trigonometry line

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

在绘制对象时Winform不滚动

C#3.0,.net framework 3.5我正在绘制(使用图形类中的draw方法)窗口上的许多实心矩形垂直构造.表格从500 x 500像素开始,矩形只在运行时从网络下载数据后绘制 - 矩形的数量取决于下载,所以我不知道它是在前面.

因此,只有几个矩形被绘制,因为窗体的大小是固定的.所以我用google搜索/ Binged(以免有人建议我这样做)并找到一些提示,但它们在这种情况下不起作用 - 比如将表单AutoScroll属性设置为true或尝试双缓冲.我也试图在列表框控件上绘图并设置它的滚动属性等...但没有骰子.

我猜测没有办法显示,在窗体上使用绘图垂直地说200个矩形.我需要一些其他的解决方案......请任何想法.

也许是一个图片盒列表,然后用纯色填充每个图片框?

谢谢

c# drawing scroll winforms

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

UIView drawRect:当你画一条线时,矩形区域将被清除,因此上一张图画消失了

很难说我上传图片来显示我的问题:http://i42.tinypic.com/2eezamo.jpg

基本上在drawRect中,我将从touchesMoved中绘制线条作为手指触摸,我将调用"needsDisplayInRect"进行重绘.但是我发现第一行已经完成,第二行将清除rect部分,因此一些previouse绘图已经消失.

这是我的实现:

enter code here

-(void) drawRect:(CGRect)rect{
//[super drawRect: rect];
CGContextRef context = UIGraphicsGetCurrentContext();
[self drawSquiggle:squiggle at:rect inContext:context];
}

- (void)drawSquiggle:(Squiggle *)squiggle at:(CGRect) rect inContext:(CGContextRef)context
{   

CGContextSetBlendMode(context, kCGBlendModeMultiply);
UIColor *squiggleColor = squiggle.strokeColor; // get squiggle's color
CGColorRef colorRef = [squiggleColor CGColor]; // get the CGColor
CGContextSetStrokeColorWithColor(context, colorRef);        

NSMutableArray *points = [squiggle points]; // get points from squiggle
// retrieve the NSValue object and store the value in firstPoint
CGPoint firstPoint; // declare a CGPoint
[[points objectAtIndex:0] …
Run Code Online (Sandbox Code Playgroud)

drawing uiview cgcontext drawrect

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

调整大小给我沉重的形象

我正在通过以下方法调整jpeg 1200x900,556kb的大小:

public static Image ResizeImage(Image imgToResize, int height) //height=400
{
    int destWidth;
    int destHeight;

    int sourceWidth = imgToResize.Width;
    int sourceHeight = imgToResize.Height;

    float nPercent = 0;

    float nPercentH = 0;


    nPercentH = ((float)height / (float)sourceHeight);


    nPercent = nPercentH;


    destWidth = (int)(sourceWidth * nPercent);
    destHeight = height;

    Bitmap b = new Bitmap(destWidth, destHeight);
    Graphics g = Graphics.FromImage((Image)b);
    g.InterpolationMode = InterpolationMode.HighQualityBicubic;

    g.DrawImage(imgToResize, 0, 0, destWidth, destHeight);
    g.Dispose();
    return b;
}
Run Code Online (Sandbox Code Playgroud)

保存?

Image image = Image.FromStream(new FileStream(path, FileMode.Open));
Image imageAfterResizing =ResizeImage(image,400);
imageAfterResizing.Save(@"c:\myPhoto.jpg"); …
Run Code Online (Sandbox Code Playgroud)

c# drawing

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

在C#中校正3D线条图

我(在帮助下)创建了一个在3D空间中绘制和绘制一系列块的函数.通常,这是在64x64x64网格立方体中执行的.

这是我的代码:

    internal static int DrawLine(Player theplayer, Byte drawBlock,
                                 int x0, int y0, int z0, int x1, int y1, int z1)
    {
        int blocks = 0;
        bool cannotUndo = false;
        bool detected = false;

        int dx = x1 - x0;
        int dy = y1 - y0;
        int dz = z1 - z0;

        DrawOneBlock(theplayer, drawBlock, x0, y0, z0, ref blocks, ref cannotUndo);
        if (Math.Abs(dx) > Math.Abs(dy) &&
            Math.Abs(dx) > Math.Abs(dz) && 
            detected == false)
        {
            detected = true;
            float my = …
Run Code Online (Sandbox Code Playgroud)

c# 3d drawing line

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

如何在C#中突出显示给定的颜色

我怎样才能在C#中突出显示给定的颜色.用户为我正在显示的对象选择任意颜色.当我选择对象时,我想突出显示它们.

你知道最好的方法是什么吗?

我需要这样的东西:

private Color HighLight(Color c)
{
  //calculate a highlight color from c
  return highlighted;
}
Run Code Online (Sandbox Code Playgroud)

提前致谢

.net c# drawing winforms

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

在win32编程中,如何在屏幕上的任何位置绘制一个矩形(在我的程序之外)?

我在应用测试团队工作.我被分配了一个任务来编写一个win32应用程序,它可以截取屏幕的矩形部分.这涉及选择屏幕的一部分来截取屏幕截图.

我无法弄清楚的是如何在屏幕上的任何地方绘制一个矩形,这将是截取屏幕截图的矩形区域.我已经看到其他应用程序这样做但我找不到关于如何完成这个的教程.

我知道如何在我自己的应用程序(BeginPaintRectanglewin32函数)中绘制矩形,但如何在屏幕上的任何位置绘制矩形?

windows winapi drawing

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

为什么CGContextAddArc可以在32位而不是64位设备上运行?

我在图层委托中有以下代码.它只是绘制一个蓝色圆圈.它在32位iOS设备上运行完美,但在64位iOS设备上没有任何效果.为什么?

-(void) drawLayer:(CALayer *)layer inContext:(CGContextRef)context
{
    CGContextAddArc(context, 100., 100., 10., -M_PI, M_PI, YES);
    CGContextSetFillColorWithColor(context, [UIColor blueColor].CGColor);
    CGContextFillPath(context);
}
Run Code Online (Sandbox Code Playgroud)

drawing core-graphics objective-c ios

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

Java Swing移动java.awt.Shape

我们有一个显示一种地图的应用程序.这个Swing应用程序主要绘制一组java.awt.Shapes,java.awt.Graphics2D#draw(Shape)一切都很好.

现在,我必须扩展这个应用程序,以允许我们的用户编辑(移动形状)地图.但是没有translatemove方法java.awt.Shape.所以我无法改变java.awt.Point形状的位置().

我试图覆盖java.awt.Shape#getPathIterator以应用与形状位置匹配的翻译.但这很棘手,因为这个方法已经接受了我必须合并的转换,并且因为要正确PathIterator应该从那开始,(0, 0)因为它是相对于形状位置.

无论如何,这是行不通的,因为它似乎Graphics2D并不总是使用这种方法来绘制java.awt.Shape.

所以现在,我感觉有点迷茫.另一个解决方案可能是让自己绘制形状,但后来我必须重写应用程序的一部分.这不是问题,但我必须知道哪个可能是最好的解决方案:

  1. 找到一招移到一个java.awt.Shape 似乎是最好的解决方案,但我想不出如何做到这一点.

  2. 将应用程序更改为具有自绘图形状 可能很好但是我必须计算myslef contains和其他更复杂的方法.

java swing drawing java-2d

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