Jump to content

desafio interessante, sera possivel ?


rui_fernandes
 Share

Recommended Posts

ora bom dia,

proposeram-me um desafio interessante.,..

abrir uma imagem a escolha, ter a possibilidade de escrever texto na imagem, desenhar uma seta, desenha um circulo...

e por fim puder gravar alteracoes...

isto, proposto p uma seguradora, para guardar os danos de uma viatura por exemplo...

tao a ver a ideia ???

possivel em VB ?

Rui Fernandes

Link to comment
Share on other sites

sim, é possivel e trivial

C#.

          
Bitmap i = Bitmap.FromFile ("jdkasd.jpeg");
Graphics g = Graphics.FromImage(i);
g.Clear(Color.White);
g.DrawRectangle(Pens.Black, 0, 0, i.Width-1, i.Height-1);
g.Dispose();
i.Save("jdkasd.jpeg");

em Vb.net é a mesma m....

/ing

I used to have a life ... but i bought a programmable machine in 1982 ...

Link to comment
Share on other sites

não é dificil.

A) se queres numa determinada posição, é pq sabes qual é a posição, e esta é fixa.

😄"tipo abrir a imagem, e do lado direito tem 3 opcoes..."seta,circula,text"" Trivial, usa context menus associados à imagem.

C) "vi ai bitmap, tem que ser bitmap as imagens" http://msdn.microsoft.com/en-us/library/system.drawing.bitmap.aspx

/ing

I used to have a life ... but i bought a programmable machine in 1982 ...

Link to comment
Share on other sites

é assim... sem querer parecer mal educado .

public void PedirAjuda(boolean papinha_feita,estas_disposto_a_perder_algum_tempo_a){

boolean ajuda=true && estas_disposto_a_perder_algum_tempo_a;

if (ajuda && !papinha_feita){

    string resposta = this.PedeAjuda(string pergunta);
    if(resposta.trim().lenght>0){
         boolean duvidas_persitem=this.Pesquisa_e_investiga_segundo_as_respostas(resposta);
         if(duvidas_persistem)
           this.PedirAjuda(false,true);
} else 
   Console.Writeln("Nao sei o que te fazer... o codigo nao sera de certeza!!");
}

Na minha opinião, com pouco trabalho e tempo, as guidelines que postei anteriormente resolvem-te o problema, mais... o código adicional que terás que fazer não passa as 20 linhas.

Posso parecer-te arrogante e conflituoso... mas segundo os meus padrões estou a ser simplesmente correcto para "alguém" que considera resolver um desafio interessante... Na minha óptica desafios interessantes são quando os conseguimos resolver e não quando me dizem como se resolvem!

/ing

I used to have a life ... but i bought a programmable machine in 1982 ...

Link to comment
Share on other sites

inginheiiro é um desafio porque nunca fiz nada do genero, e nao estou a pedir que me facam as coisas...

apenas tava pedir que me explicassem o que devo fazer... acho que isto é um forum para "pedir ajuda" e para tirar duvidas... se assim nao consideras...

Triton, isso eu sei fazer como ja disse em cima...

Rui Fernandes

Link to comment
Share on other sites

inginheiiro é um desafio porque nunca fiz nada do genero, e nao estou a pedir que me facam as coisas...

apenas tava pedir que me explicassem o que devo fazer... acho que isto é um forum para "pedir ajuda" e para tirar duvidas... se assim nao consideras...

Triton, isso eu sei fazer como ja disse em cima...

Uma coisa é pedir que te mostrem o código já feito, e nesse caso não vejo grande desafio. Outra completamente diferente é tentar, não conseguir, mostrar código que não funciona, e pedir ajuda.

Qual é a dúvida que resta?

<3 life

Link to comment
Share on other sites

Image i = Image.FromFile(@"c:\a.png"); 
Graphics g = Graphics.FromImage(i);             
g.DrawRectangle(Pens.Black, 6, 6, i.Width - 6, i.Height - 6);           
i.Save(@"c:\b.png");
g.Dispose(); 

testa lá isto numa form para ver se não grava uma imagem no disco com alterações. (supondo que tens um ficheiro c:\a.png)

"Deixo" à tua imaginação descobrir como usar uma PictureBox em conjunto com este código de modo a funcionar ...

/ing

I used to have a life ... but i bought a programmable machine in 1982 ...

Link to comment
Share on other sites

nao guarda nada na imagem...

no load preenche a picturebox com a img1...

dp no evento click do rato tem isso...

 ' ----- definindo objetos para desenho
        Dim usarLinha As Pen
        Dim usarPreenchimento As Brush
        Dim pinta As Graphics
        Dim desenharContornos As Rectangle

        pinta = Graphics.FromImage(areaDesenho.Image)

        ' ----- Verifica se é o primeiro ou segundo click do mouse
        If (primeiroPonto.Equals(New Point(-1, -1))) Then
            ' ----- obtem a área para desenhar
            pinta = areaDesenho.CreateGraphics()
            If (Me.rdtexto.Checked = True) Then
                Dim font As New Font("verdana", 12)
                pinta.DrawString(txttexto.Text, font, Brushes.Black, e.X, e.Y) '"RUI"
                Exit Sub
            End If

            ' ----- Primeiro click : registra a localização.
            primeiroPonto = e.Location
            ' ----- desenha uma marca neste ponto
            Desenhar(primeiroPonto)
        Else
            ' ----- Obtem as duas cores usadas
            usarLinha = New Pen(Color.FromName(cboCorLinha.Text))
            usarPreenchimento = New SolidBrush(Color.FromName(cboCorPreenchimento.Text))

            ' ----- obtem a área para desenhar
            pinta = areaDesenho.CreateGraphics()
            If (Me.rdtexto.Checked = True) Then
                Dim font As New Font("verdana", 12)
                pinta.DrawString(txttexto.Text, font, Brushes.Black, e.X, e.Y) '"RUI"
                Exit Sub
            End If
            ' ----- Remove a marca do primeiro ponto. -----'
            Desenhar(primeiroPonto)

            ' ----- Para retangulos e elipses obtem o contorno da área
            desenharContornos = New Rectangle( _
               Math.Min(primeiroPonto.X, e.Location.X), _
               Math.Min(primeiroPonto.Y, e.Location.Y), _
               Math.Abs(primeiroPonto.X - e.Location.X), _
               Math.Abs(primeiroPonto.Y - e.Location.Y))

            ' ----- começa a desenhar
            If (rdbLinha.Checked = True) Then
                ' ----- Desenha a linha.
                pinta.DrawLine(usarLinha, primeiroPonto, e.Location)
            ElseIf (rdbRetangulo.Checked = True) Then
                ' ----- Desenha o retângulo.
                pinta.FillRectangle(usarPreenchimento, desenharContornos)
                pinta.DrawRectangle(usarLinha, desenharContornos)
            ElseIf (Me.rdbElipse.Checked = True) Then
                ' ----- Desenha a elipse.
                pinta.FillEllipse(usarPreenchimento, desenharContornos)
                pinta.DrawEllipse(usarLinha, desenharContornos)
            End If

            areaDesenho.Image.Save("img2.JPG")

            ' -----limpa tudo.
            pinta.Dispose()
            usarPreenchimento.Dispose()
            usarLinha.Dispose()
            primeiroPonto = New Point(-1, -1)

antes de limpar as variaveis mando gravar a imagem da picturebox mas fica igual...

podem-me dizer se estou a fazer alguma coisa mal ??

Rui Fernandes

Link to comment
Share on other sites

vi aqui alguem a dizer que isto era um forum...

que isto é para se por um bloco de codigo onde se tenha duvidas para tirar...

criticarem sabem...

mas depois ajudarem como dizem que isto serve nem estao prai virados.

fico agradecido na mesma pela ajuda.

acho que estas a exagerar, se quiseres pede o livro de reclamações, aqui as pessoas limitão se a ajudar, em troca merecem o respeito e a consideração,

como as pessoas não vêm respeito nem consideração vindas da tua parte, deixam de ajudar...

nem é para menos, com tanta arrogancia, é muito dificil chegares a algum lado...

Got it?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.