2

以下のように、40x40 マトリックスを作成し、各セルを手動で色付けする必要があります。

カラーマトリックス

帳票アプリで40*40=160枚のラベルを作って1枚ずつ色を塗ればいいと思うのですがあまり効果がありません。これのベストプラクティスは何ですか。もしかしてカラーマトリックス?

4

2 に答える 2

1

これは、完全でシンプルな Windows フォーム アプリです。

これはおそらく最も簡単な方法です。マトリックスから色を取得していないという事実を考慮してください。ただし、コードでそれをペイントする方法があることは理解できます。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        protected override void OnPaint(PaintEventArgs e)
        {
            base.OnPaint(e);

            for (int x = 0, y = 0; x + y != (this.Width + this.Height); x++)
            {
                var color = Color.Red;
                if (x % 2 == 0 && y % 2 != 0) { color = Color.Blue; }

                e.Graphics.FillRectangle(new SolidBrush(color), x, y, 1, 1);

                if (x == this.Width)
                {
                    x = -1;
                    y++;
                }
            }
        }
    }
}
于 2012-12-08T12:32:34.410 に答える
0

OnPaint イベントをインターセプトする別の方法の 1 つは、System.Drawing.Bitmap クラスを介して 40x40 ピクセルのビットマップを作成し、すべてのピクセルの色を設定することです。

最後に、UI テクノロジに応じて、PictureBox (Windows フォーム) または Image (WPF) に表示し、スケーリング値を設定してコントロール全体のサイズを埋めます。

于 2012-12-08T14:22:13.770 に答える