Jump to content
leo2012

Como substituir uma imagem?

Recommended Posts

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

Share this post


Link to post
Share on other 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.

Edited by Muryllo

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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/

Edited by Muryllo

Share this post


Link to post
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

×
×
  • 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.