0
무언가를하는 방법, 그래픽이있는 양식에 비트 맵 파일로 그려지는 것을 저장하는 방법, 지금까지 시도한 모든 것이 효과가 없었습니다. 내가하고있는 일의 배경 비트, 난 무작위 지형 생성기를 만들려고 노력하고있어, 나는 모든 일을 가지고 있고 난 그저 파일이로드됩니다 때문에 비트 맵으로 그래픽스를 저장하는 방법을 알아야합니다 여기 그래픽을 비트 맵 이미지로 저장하는 방법
내 코드의 ... 다른 프로그램에 그 아이디어의 적어도 전체 지형을 만드는 데 사용 :using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Random_Terrian_1_x_1_pixel
{
public partial class Form1 : Form
{
int start = 0;
int count = 0;
int layer = 251;
public Form1()
{
InitializeComponent();
}
private async void button1_Click(object sender, EventArgs e)
{
}
private void button2_Click(object sender, EventArgs e)
{
MessageBox.Show("Height: " + this.Height + ", Width: " + this.Width);
}
private void placeBlocks1ToolStripMenuItem_Click(object sender, EventArgs e)
{
start = start + 10;
count = count + 1;
if (count >= 999)
{
// MessageBox.Show("Layer full");
}
else
{
//this.Text = Convert.ToString(count);
Random rand = new Random();
int num = rand.Next(1, 3);
SolidBrush blockstone = new SolidBrush(Color.Gray);
SolidBrush blockcoal = new SolidBrush(Color.Black);
if (num == 1)
{
Graphics g = this.CreateGraphics();
g.FillRectangle(blockstone, new Rectangle(start, layer, 10, 10));
g.Dispose();
}
if (num == 2)
{
Graphics g = this.CreateGraphics();
g.FillRectangle(blockcoal, new Rectangle(start, layer, 10, 10));
g.Dispose();
}
}
}
private void button1_Click_1(object sender, EventArgs e)
{
start = start + 10;
count = count + 1;
if (count >= 999)
{
// MessageBox.Show("Layer full");
}
else
{
//this.Text = Convert.ToString(count);
Random rand = new Random();
int num = rand.Next(1, 3);
SolidBrush blockstone = new SolidBrush(Color.Gray);
SolidBrush blockcoal = new SolidBrush(Color.Black);
if (num == 1)
{
Graphics g = this.CreateGraphics();
g.FillRectangle(blockstone, new Rectangle(start, layer, 10, 10));
g.Dispose();
}
if (num == 2)
{
Graphics g = this.CreateGraphics();
g.FillRectangle(blockcoal, new Rectangle(start, layer, 10, 10));
g.Dispose();
}
}
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void button2_Click_1(object sender, EventArgs e)
{
if (Convert.ToInt16(textBox1.Text) == 1)
{
layer = 251;
start = 0;
}
if (Convert.ToInt16(textBox1.Text) == 2)
{
layer = 241;
start = 0;
}
if (Convert.ToInt16(textBox1.Text) == 3)
{
layer = 231;
start = 0;
}
if (Convert.ToInt16(textBox1.Text) == 4)
{
layer = 221;
start = 0;
}
if (Convert.ToInt16(textBox1.Text) == 5)
{
layer = 211;
start = 0;
}
}
private async void placeByNumberToolStripMenuItem_Click(object sender, EventArgs e)
{
int placecount = 0;
while (placecount <= 19)
{
await Task.Delay(250);
button1.PerformClick();
}
}
private void clearToolStripMenuItem_Click(object sender, EventArgs e)
{
Graphics g = this.CreateGraphics();
g.Clear(SystemColors.Control);
}
private void newToolStripButton_Click(object sender, EventArgs e)
{
Graphics g = this.CreateGraphics();
g.Clear(SystemColors.Control);
}
}
}
좋아하지만 어떻게 내가 이미 그래픽을 얻을 것 그려진 것은 무작위 적이기 때문입니다. – user3349095
'Graphics'를 만들기 전에'Bitmap'을 만드십시오. 그런 다음 위와 같이'Graphics'를 끌어 와서 * 그 위에 그립니다. –
시원한가 그 방법을함으로써 그 – user3349095