Usuário com melhor resposta
Cadastro de Imagens C# - Windows Forms

Pergunta
-
Olá a todos,
A minha dúvida é a seguinte:
tenho um form para cadastro de 6 imagens simultâneas, até aqui tudo bem.
Porem tenho um form de alteração destas imagens depois de cadastradas, caso o usuario queira adicionar mais alguma ou trocar a q ele colocou.
Nao estou conseguindo fazer com que quando o usuario ao entrar no form de alteração de imagens, carregar as imagens disponiveis daquele cliente nos picturebox e assim ele conseguir alterar elas.
Preciso carregar as imagens de acordo com o ID do cliente especificado..
Obrigado a todos.
Respostas
-
Rodolfo me desculpe rapaz estava desenvolvendo aqui e a acabei por ficar ocupado, então vamos lá, você precisa carregar as fotos referente ao usuário ou produto, então é simples quando você passar o codigo do cliente para o outro formulário
int codCliente = 123;
// caminho onde será salvo a imagem
string imagem = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + codCliente + "_1"+".jpg";
if (File.Exists(imagem))
{
Bitmap bit = new Bitmap(imagem);
pictureBox1.Image = bit;
}Esta ai Amigo, se precisar de Mais alguma coisa, só falar. Se a Resposta foi Útil, por favor, qualificar, Obrigado.
Paulo Caleffi
- Sugerido como Resposta Paulo Caleffi - Dot.Net sexta-feira, 19 de julho de 2013 19:30
- Marcado como Resposta Rodolfocds sábado, 20 de julho de 2013 01:01
-
Paulo, eu fiz esse código para copiar a imagem para uma pasta e renomear ela, está funcionando perfeitamente.
Porem não sei como pegar somente o novo nome da imagem e salvar no BD.
Segue o Código:
private void btnP1_Click(object sender, EventArgs e)
{
if (txtMatrPaciente.Text == "")
{
MessageBox.Show("Entre com a matrícula do paciente.", "Advertência", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
txtMatrPaciente.Focus();
}
else
{
int segundos = DateTime.Now.Second;
int dia = DateTime.Now.Day;
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
this.pictureBox1.ImageLocation = openFileDialog1.FileName;
// caminho onde será salvo a imagem
String Imagem = Application.StartupPath + @"\imagens\" + txtMatrPaciente.Text + "_" + dia.ToString() + segundos.ToString() + Path.GetExtension(openFileDialog1.FileName);
if (File.Exists(Imagem))
{
MessageBox.Show("Imagem já existente, Por Favor Tente Novamente!");
}
else
{
// aqui ele pega a sua imagem e copia
File.Copy(openFileDialog1.FileName, Imagem);
}
}
}
}Obrigado pela Ajuda.
- Marcado como Resposta Rodolfocds sábado, 20 de julho de 2013 00:25
Todas as Respostas
-
Olá...
segue um exempo.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Data.SqlClient;
namespace Camera
{
public partial class Alterando : Form
{
private String strconn;
private SqlConnection conn;
public Alterando()
{
InitializeComponent();
// strconn = @"Server =.\SQLEXPRESS;Initial Catalog=banco;User ID=sa;Password=**** ";
//conn = new SqlConnection(strconn);
}//item abaixo serve para recuperar a imagem do banco de dados
SqlConnection conn = new SqlConnection(strconn);
SqlCommand comand = new SqlCommand("Select foto from Membros where id ="+label20.Text,conn);//desde que o id seja igual
conn.Open();
SqlDataReader reader = comand.ExecuteReader(); // isso traz o resultado do meu select
Image imagem = null;
if (reader.Read())
{
byte[]foto = (byte[]) reader["foto"];
MemoryStream ms = new MemoryStream(foto);
imagem = Image.FromStream(ms);
}
pictureBox1.Image = imagem; // aqui vc coloca a imagem armazenada do banco no picturebox
conn.Close();
Se for útil não esqueça de marcar como resposta
Grande abraço !
Jimi Anderson
-
-
-
-
Ok, então vamos por partes, quando você armazena um cliente no banco você tem um Id deste cliente ou produto.
vocÊ precisa gravar imagens que corresponde as este cliente ou produto, correto?, na hora de gravar você precisa carregar o picturebox com uma imagem correto?
Paulo Caleffi
-
então paulo, tenho um cadastro de clientes, e tenho um id dele, e tenho um outro form com 6 picturebox para o usuário cadastrar até 6 imagens para este cliente, pois estou fazendo um sistema de clinica médica onde os médicos precisam acessar o raio-x do paciente.
e tenho outro form para atualização destas imagens, também com 6 picturebox, e neste form eu preciso carregar as imagens cadastradas deste cliente nos picturebox's para o usuário ver quais foram cadastradas e analisar qual delas ele vai alterar.
Obrigado pela atenção Paulo.
-
Perfeito, então vamos lá.
Eu fiz dessa forma e funcionou muito bem, transfiro as imagens para 7 filiais que estão espalhadas na região
1º ao Abrir o form onde irá cadastrar as imagens já deverá contar o código do cliente vindo de uma variável ou sobrecarga de método.
você carrega as imagens no picture box, atraves de uma caixa de Dialog?
Paulo Caleffi
-
-
blz então perfeito faça dessa forma
int codCliente = 123;
// caminho onde será salvo a imagem
string imagem = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + codCliente + "_1"+".jpg";
// aqui ele pega a sua imagem que esta no picturebox, então substitua o caminho por "picturebox1.image"
Bitmap imagemdopicturebox = new Bitmap(@"C:\\nn.JPG");
pictureBox1.Image = imagemdopicturebox;
pictureBox1.Image.Save(imagem);isso se você tiver um botão salvar para cada picturebox, é dessa forma que esta fazendo, digo um botão salvar para cada image?
Paulo Caleffi
-
-
-
Rodolfo me desculpe rapaz estava desenvolvendo aqui e a acabei por ficar ocupado, então vamos lá, você precisa carregar as fotos referente ao usuário ou produto, então é simples quando você passar o codigo do cliente para o outro formulário
int codCliente = 123;
// caminho onde será salvo a imagem
string imagem = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + codCliente + "_1"+".jpg";
if (File.Exists(imagem))
{
Bitmap bit = new Bitmap(imagem);
pictureBox1.Image = bit;
}Esta ai Amigo, se precisar de Mais alguma coisa, só falar. Se a Resposta foi Útil, por favor, qualificar, Obrigado.
Paulo Caleffi
- Sugerido como Resposta Paulo Caleffi - Dot.Net sexta-feira, 19 de julho de 2013 19:30
- Marcado como Resposta Rodolfocds sábado, 20 de julho de 2013 01:01
-
-
Paulo, eu fiz esse código para copiar a imagem para uma pasta e renomear ela, está funcionando perfeitamente.
Porem não sei como pegar somente o novo nome da imagem e salvar no BD.
Segue o Código:
private void btnP1_Click(object sender, EventArgs e)
{
if (txtMatrPaciente.Text == "")
{
MessageBox.Show("Entre com a matrícula do paciente.", "Advertência", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
txtMatrPaciente.Focus();
}
else
{
int segundos = DateTime.Now.Second;
int dia = DateTime.Now.Day;
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
this.pictureBox1.ImageLocation = openFileDialog1.FileName;
// caminho onde será salvo a imagem
String Imagem = Application.StartupPath + @"\imagens\" + txtMatrPaciente.Text + "_" + dia.ToString() + segundos.ToString() + Path.GetExtension(openFileDialog1.FileName);
if (File.Exists(Imagem))
{
MessageBox.Show("Imagem já existente, Por Favor Tente Novamente!");
}
else
{
// aqui ele pega a sua imagem e copia
File.Copy(openFileDialog1.FileName, Imagem);
}
}
}
}Obrigado pela Ajuda.
- Marcado como Resposta Rodolfocds sábado, 20 de julho de 2013 00:25
-