PDA

View Full Version : سوال: نحوه رسم نمودار در PICTUREBOX در #C



VeRJiL
یک شنبه 12 آذر 1391, 22:53 عصر
سلام
میخواستم ببینم میشه یه نمودار سینوسی رو تو PICTUREBOX رسم کرد و با 2 تا button اون نمودارو جابجا کرد منظورم اینه بتونم با button اولی نقطه شروع نمودار رو عقب بیارم و button دومی نقطه شروع رو جلوتر بیاره البته تو نمودار منفی و مثبتش رو کم و زیاد میکنه . خودم که دیکه تو این یکی قفل کردم لطفا کمکم کنین اگه میشه code هاشو بزارین
با تشکر

harani
یک شنبه 12 آذر 1391, 23:03 عصر
با پیکچرباکس که کار خیلی دشواری باید از کنترل chart در قسمت Data تولباکس استفاده کنی . لینک مقابل نحوه رسم این نمودارها رو در کنترل Chart نشون داده . http://www.just-about.net/mschart-grundlagen

VeRJiL
دوشنبه 13 آذر 1391, 19:48 عصر
ممنون بابت لینک موثر
ولی اگه میشه استفاده از PICTUREBOX رو یکی یادم بده یاد بگیرم

harani
دوشنبه 13 آذر 1391, 20:13 عصر
این لینکو ببین بدردت میخوره . http://stackoverflow.com/questions/5365951/draw-multiple-curves-in-winforms-picturebox

VeRJiL
چهارشنبه 15 آذر 1391, 21:51 عصر
ممنون از لینک مفیدت تو یه قسمت از کارم خیلی بدردم خورد . اینم از کدهای رسم نمودار سینوسی در picturebox


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 Diagram_in_Picturebox
{
public partial class Form1 : Form
{
int x;
double u;
int[] d = new int[500];
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
Bitmap pic = new Bitmap(pictureBox1.Image);
Color ColorResult;

for (x = 0; x <= 360; x++)
{
d[x] = Convert.ToInt32((Math.Sin(x * (Math.PI / 90))+1)*127.5);
}

int b = 0;
for (x = 0; x < pic.Width - 1; x++)
for (int y = 0; y < pic.Height;y++ )
{
ColorResult = Color.FromArgb(255, 255, 255);
pic.SetPixel(x, y, ColorResult);
}

for (x = pic.Width-1; x >=0; x--)
{
ColorResult = Color.FromArgb(255, 0, 0);
pic.SetPixel(x, d[b], ColorResult);
b++;
}
pictureBox1.Image = pic;

}
}
}