Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

leo2012

Como substituir uma imagem?

Mensagens Recomendadas

leo2012

Olá a todos, existe um método replace para imagens?

Exemplo:

texto = texto.Replace("<foto>", PictureBox1.Image)

Deixando claro que esse método não funciona, pois "<foto>" é uma string e "PictureBox1.Image" é um objeto, esse é um exemplo, tem algum método de fazer essa substituição?

Código completo:

Dim texto As String
   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       texto = My.Computer.FileSystem.ReadAllText(Application.StartupPath & "\modelo.rtf")
    texto = fileReader.Replace("<nome>", TextBox1.Text)
       'texto = texto.Replace("<foto>", PictureBox1.Image) - Não funciona

    SaveFileDialog1.ShowDialog()
   End Sub

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Muryllo

Eu não sei nem como esse programa deve conseguir inicializar sem travar a memória do computador. Estás a ler o conteúdo de todo o arquivo que por sinal é BINÁRIO para dentro de uma string que nem matriz é, tentas modificar uma imagem que está salva como binário em um arquivo RTF e espera que com um replace consiga fazer isso ? A menos que você conheça alguma DLL que consiga fazer esse replace da imagem para você, terá então que buscar na lógica através dos bytes da imagem que estão dentro do arquivo.

Olha o que acontece com a suposta "<foto>" a que você se refere quando é colocada no rtf :

tnSwPOL.png

Não me recordo quanto a forma com que os bytes da imagem que variam de 0 a 255 são convertidos para esse tipo de código, mas esses números que vê no print são o que compõe a imagem.

Agora imagine, estás a por tudo isso concatenado dentro da variável 'texto'. É impossível substituir desta forma a imagem dentro do arquivo rtf desta forma, mas, terás que ir mais fundo que isso.

Editado por Muryllo

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
leo2012

Isso é oque acontece quando abre o RTF no bloco de notas, mas da maneira que estou fazendo se abrir o rtf no Word aparece tudo certinho, substitui todas as strings que eu quero, sem travar.

O problema é só esse, que não consigo inserir uma imagem nesse documento.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
leo2012

Na verdade oque eu quero fazer é um relatório com os dados que estão nos textbox, consegui isso com o Crystal Report, mas como estou começando agora, também parei nessa parte da imagem, consigo exportar os dados mas a imagem não vai

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Muryllo

O que eu quis dizer é : Não dá para inserir uma 'imagem' dentro de um arquivo através de uma string. Como você acha que funciona ? O bloco de notas abre o arquivos como um string array(), aquilo que apareceu no bloco de notas é o que você estava carregando para a memória física do computador ao fazer :

texto = My.Computer.FileSystem.ReadAllText(Application.StartupPath & "\modelo.rtf")

Quanto a imagem, creio que não deva quebrar a cabeça com isso, deve existir já alguma biblioteca para inserir ou excluir uma imagem do arquivo rtf. Não sei se o próprio .net já implementa isso, tenho que pesquisar. Olha isso vê se te ajuda em algo http://www.scriptbrasil.com.br/forum/topic/88223-como-manipular-arquivos-doc-ou-rtf-no-c/

Editado por Muryllo

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.