标签: system.drawing

面板处于活动状态时绘制边框滚动

我在尝试制作面板边框时遇到问题,首先我将属性面板设置为:“AutoScroll = true;” 然后我将边框绘制代码放在 Panel 事件中:

    ControlPaint.DrawBorder(e.Graphics, 
        ClientRectangle,  
        Color.Black, 5, 
        ButtonBorderStyle.Solid,
        Color.Black, 5, ButtonBorderStyle.Solid, 
        Color.Black, 5, ButtonBorderStyle.Solid,
        Color.Black, 5, ButtonBorderStyle.Solid);
Run Code Online (Sandbox Code Playgroud)

实际上我还有第二个问题,我将在这里解释所有内容..我希望你不介意。好吧,当面板滚动处于活动状态时,面板边框会发生一些崩溃。看一下图片: 在此处输入图片说明

即使我把

`e.Graphics.TranslateTransform(this.AutoScrollPosition.X, this.AutoScrollPosition.Y);`
Run Code Online (Sandbox Code Playgroud)

它看起来不像边框面板,因为它只是在滚动处于活动状态时在面板内绘制一个矩形。这不是我所期望的,但我需要一个边框

我敢打赌,问题是源代码,这不是因为它不可能,看看System.Windows.Forms.Panel我认为它是完美的面板,虽然它很简单。请帮我解决这个问题。这让我很困惑

.net c# system.drawing panel custom-controls

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

带有 system.drawing 和可能的替代方案的 WINdows 通用应用程序

我正在开发一个 Windows 通用应用程序,我需要使用 Bitemap 但是

我似乎无法引用 System.Drawing,

为什么windows通用应用程序不能引用这个dll,我有什么替代方法?

编辑 关于如何在通用应用程序中使用我已经编写好的过滤库(取决于 system.drawing)的任何建议?

Tnx

windows system.drawing win-universal-app windows-10

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

将 System.Drawing.Points 加在一起

我遇到过以下代码,它使用该类的构造函数System.Drawing.Size来添加两个 System.Drawing.Point 对象。

// System.Drawing.Point mpWF contains window-based mouse coordinates
// extracted from LParam of WM_MOUSEMOVE message.

// Get screen origin coordinates for WPF window by passing in a null Point.
System.Windows.Point originWpf = _window.PointToScreen(new System.Windows.Point());

// Convert WPF doubles to WinForms ints.
System.Drawing.Point originWF = new System.Drawing.Point(Convert.ToInt32(originWpf.X),
    Convert.ToInt32(originWpf.Y));

// Add WPF window origin to the mousepoint to get screen coordinates.
mpWF = originWF + new Size(mpWF);
Run Code Online (Sandbox Code Playgroud)

我认为在最后一个语句中使用 the 是+ new Size(mpWF)一种黑客行为,因为当我阅读上面的代码时,它减慢了我的速度,因为我没有立即理解发生了什么。

我尝试按如下方式解构最后一个语句:

System.Drawing.Point tempWF = …
Run Code Online (Sandbox Code Playgroud)

c# wpf system.drawing mousemove winforms

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

将图像从 c# 中的图形对象保存为字节 []

我将从数据库中以字节为单位获取图像并使用 system.drawing.graphic 添加一些必要的东西,然后我需要将此图像保存在 byte[] 中并发送到前端(silver light 4)进行打印。

注意(我不会将其保存在物理文件中)。

我感谢每一个帮助或你们,并在可能的情况下提供示例代码。

c# printing system.drawing bytearray

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

System.Drawing.Graphics Drawimage 将IOS拍摄的图片旋转90度

我有以下代码可以上传图像并使用 System.Drawing.Graphics 以 150 x 200 div 的大小绘制它,但是当图像是从 IOS 设备获取时,图片会向右旋转 90 度。

仅供参考:我在 JavaScript 画布中绘制图像时遇到了同样的问题,这个解决方案对我有用。因此我在 C# 中寻找等效的解决方案

     private System.Drawing.Image ResizeAndDraw(System.Drawing.Image objTempImage)
            {
                Size objSize = new Size(150, 200);
                Bitmap objBmp;
                objBmp = new Bitmap(objSize.Width, objSize.Height);

                Graphics g = Graphics.FromImage(objBmp);
                g.SmoothingMode = SmoothingMode.HighQuality;
                g.InterpolationMode = InterpolationMode.HighQualityBicubic;
                g.PixelOffsetMode = PixelOffsetMode.HighQuality;
                //Rectangle rect = new Rectangle(x, y, thumbSize.Width, thumbSize.Height);
                Rectangle rect = new Rectangle(0,0,150,200);
                //g.DrawImage(objTempImage, rect, 0, 0, objTempImage.Width, objTempImage.Height, GraphicsUnit.Pixel);
                g.DrawImage(objTempImage, rect);
                return objBmp;
            }
Run Code Online (Sandbox Code Playgroud)

c# system.drawing image bitmapimage ios

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

无法在 C# 控制台应用程序中添加 System.Drawing 命名空间

我试图在 C# 控制台应用程序中添加 System.Drawing 命名空间,但是当我使用它的“图像”类型时,出现错误:

“在命名空间‘System.Drawing’中找不到类型名称‘Image’。此类型已转发到程序集 System.Drawing.Common,版本 = 4.0.20,文化 = 中性,请考虑添加对该程序集的引用” 。

我已经转到“项目”>“添加引用”>COM>System.Drawing.dll>“选择”>“确定”来添加它,但错误仍然存​​在。

添加参考文献窗口

c# system.drawing image visual-studio

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

C#.NET中的粗线绘制问题

我想使用Graphics.Lines()方法绘制粗线.但看起来API有一些错误.如果您尝试使用以下代码呈现用户控件,您将获得奇怪的图像.我想知道是否有一些平滑模式或类似的东西可以照顾这个线条图故障.

private void UserControl1_Paint(object sender, PaintEventArgs e)
    {
        int n = 100;
        Point[] points = new Point[n];

        double x = 2;
        int y = 50;

        for (int i = 0; i < n; i++)
        {
            Point p = new Point();
            p.X = 200 + (int)(i * x);
            p.Y = 200 + (int)(Math.Sin(i * 0.2) * y);
            points[i] = p;
        }

        Pen pen = new Pen(new SolidBrush(Color.Blue));
        //Pen pen = new Pen(new LinearGradientBrush(new Point(0, 0), new Point(0, 100), Color.Black, Color.Red));
        pen.Width …
Run Code Online (Sandbox Code Playgroud)

c# graphics system.drawing

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

为什么System.Drawing + ClearType字体有丑陋的黑色片段?

我正在使用以下C#代码来制作带有文本的图片

            // Create font. Parameter is a global variable
        Font objFont = new Font(fontname, fontsize, fontstyle, System.Drawing.GraphicsUnit.Pixel);

        // Grab an existing image from picture box. (target is picturebox's name)
        Bitmap result;
        if (target.Image != null)
        {
            result = new Bitmap(target.Image);
        }
        else
        {
            result = new Bitmap(target.Width, target.Height);
        }
        Graphics objGraphics = Graphics.FromImage(result);

        // And draw to it. Select a mode with check box.

        objGraphics.SmoothingMode = SmoothingMode.HighQuality;
        if (!checkBox1.Checked)
        {
            objGraphics.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;
        }
        else
        {
            objGraphics.TextRenderingHint = TextRenderingHint.ClearTypeGridFit;
        } …
Run Code Online (Sandbox Code Playgroud)

c# fonts system.drawing cleartype

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

Parallel.For语句返回带有位图处理的"System.InvalidOperationException"

好吧,我有一个代码在"x"图像中应用Rain Bow过滤器,我必须以两种方式做:顺序和并行,我的顺序代码工作没有问题,但并行部分不起作用.我不知道,为什么?

public static Bitmap RainbowFilterParallel(Bitmap bmp)
    {

        Bitmap temp = new Bitmap(bmp.Width, bmp.Height);
        int raz = bmp.Height / 4;

        Parallel.For(0, bmp.Width, i =>
        {
            Parallel.For(0, bmp.Height, x =>
            {

                if (i < (raz))
                {
                    temp.SetPixel(i, x, Color.FromArgb(bmp.GetPixel(i, x).R / 5, bmp.GetPixel(i, x).G, bmp.GetPixel(i, x).B));
                }
                else if (i < (raz * 2))
                {
                    temp.SetPixel(i, x, Color.FromArgb(bmp.GetPixel(i, x).R, bmp.GetPixel(i, x).G / 5, bmp.GetPixel(i, x).B));
                }
                else if (i < (raz * 3))
                {
                    temp.SetPixel(i, x, Color.FromArgb(bmp.GetPixel(i, x).R, bmp.GetPixel(i, x).G, …
Run Code Online (Sandbox Code Playgroud)

c# parallel-processing multithreading system.drawing

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

CoreCompact.System.Drawing实现

我知道我很厚,但我在为.NET Core项目实现一个新的'using'目录时遇到了麻烦.

我已经为CoreCompact.System.Drawing下载了必要的文件(https://github.com/CoreCompat/CoreCompat)

我根本不知道如何实现文件夹,以便我可以开始使用此目录,然后使用Core项目中不支持的system.drawing对象.

我是ASP.Net的新手,但是我一直在研究C#,我不需要太详细的指南.

c# asp.net system.drawing

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