Próbowałem przez konstruktor tym sposobem: http://forum.pcformat.pl/C-przekazywanie-danych-miedzy-formami-w-2-strony-t lecz niestety do wszystkiego mam dostęp z wyjątkiem picturebox.1. Dodam jeszcze, że forma ulega zmianie po przestawieniu w opcjach picturebox na public ale mam do niego dostęp.
Poniżej wrzucam kod z mojej 1 i 2 formy:
Form1
public partial class Form1 : Form
{
Bitmap newBitmap;
Image file;
int jasnosc;
public Form1()
{
InitializeComponent();
}
//otwieranie
private void otworzToolStripMenuItem_Click(object sender, EventArgs e)
{
DialogResult dr = openFileDialog1.ShowDialog();
if (dr == DialogResult.OK)
{
file = Image.FromFile(openFileDialog1.FileName);
pictureBox1.Image = file;
newBitmap = new Bitmap(openFileDialog1.FileName);
}
}
//zapisywanie
private void zapiszToolStripMenuItem_Click(object sender, EventArgs e)
{
DialogResult dr = saveFileDialog1.ShowDialog();
if (file != null)
{
if (saveFileDialog1.FileName.Substring(saveFileDialog1.FileName.Length - 3).ToLower() == "bmp")
{
file.Save(saveFileDialog1.FileName, ImageFormat.Bmp);
}
if (saveFileDialog1.FileName.Substring(saveFileDialog1.FileName.Length - 3).ToLower() == "jpg")
{
file.Save(saveFileDialog1.FileName, ImageFormat.Jpeg);
}
if (saveFileDialog1.FileName.Substring(saveFileDialog1.FileName.Length - 3).ToLower() == "png")
{
file.Save(saveFileDialog1.FileName, ImageFormat.Png);
}
}
private void jasnośćToolStripMenuItem_Click(object sender, EventArgs e)
{
jasność j2 = new jasność(this);
j2.Show();
//jasność jasnosc = new jasność(this);
//jasnosc.ShowDialog();
}
//jasność
public static Bitmap Jasniej(Bitmap Image, int value)
{
Bitmap TempBitmap = Image;
float wartosc = (float)value / 255.0f;
Bitmap NewBitmap = new Bitmap(TempBitmap.Width, TempBitmap.Height);
Graphics NewGraphics = Graphics.FromImage(NewBitmap);
float[][] FloatColorMatrix = {
new float[] {1, 0, 0, 0, 0},
new float[] {0, 1, 0, 0, 0},
new float[] {0, 0, 1, 0, 0},
new float[] {0, 0, 0, 1, 0},
new float[] {wartosc, wartosc, wartosc, 1, 1}
};
ColorMatrix NewColorMatrix = new ColorMatrix(FloatColorMatrix);
ImageAttributes Atrybuty = new ImageAttributes();
Atrybuty.SetColorMatrix(NewColorMatrix);
NewGraphics.DrawImage(TempBitmap, new Rectangle(0, 0, TempBitmap.Width, TempBitmap.Height), 0, 0, TempBitmap.Width, TempBitmap.Height, GraphicsUnit.Pixel, Atrybuty);
Atrybuty.Dispose();
NewGraphics.Dispose();
return NewBitmap;
}
}
jasność(Form2):
public partial class jasność : Form
{
private Form1 _forma1;
public jasność(Form1 forma1)
{
InitializeComponent();
this._forma1 = forma1;
}
private void trackBar1_Scroll(object sender, EventArgs e)
{
label2.Text = trackBar1.Value.ToString();
}
}