以下のように、40x40 マトリックスを作成し、各セルを手動で色付けする必要があります。
帳票アプリで40*40=160枚のラベルを作って1枚ずつ色を塗ればいいと思うのですがあまり効果がありません。これのベストプラクティスは何ですか。もしかしてカラーマトリックス?
以下のように、40x40 マトリックスを作成し、各セルを手動で色付けする必要があります。
帳票アプリで40*40=160枚のラベルを作って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++;
}
}
}
}
}
OnPaint イベントをインターセプトする別の方法の 1 つは、System.Drawing.Bitmap クラスを介して 40x40 ピクセルのビットマップを作成し、すべてのピクセルの色を設定することです。
最後に、UI テクノロジに応じて、PictureBox (Windows フォーム) または Image (WPF) に表示し、スケーリング値を設定してコントロール全体のサイズを埋めます。