Jump to content
williamjda

Inserir Imagem

Recommended Posts

williamjda

Amigo venho eu de novo com minhas duvidas.

Criei um editor de texto onde no mesmo eu irei salvar no formato TXt, HTMP, PHP. Porem ao inserir uma imagem no  ele inseria a imagem porem se eu salvo o arquivo no formato html. Ela salva normalmente porem ao abrir o arquivo no internet explorer a imagem não aparece. Alguem pode me ajudar. O código para inserir esta assim. porem não sei se o problema esta no codigo do inserir ou do aplicativo.

'Código para Inserir imagem

Private Sub InserirImagem(ByRef RichText As RichTextBox)
        Dim Escolher As New OpenFileDialog
        With Escolher
            .Filter = "Ficheiros Imagem (*.jpg,*.jpeg, *.gif, *.bmp)|*.jpg;*.jpeg;*.gif;*.bmp"
            .FileName = ""
            .Multiselect = False
            If .ShowDialog = Windows.Forms.DialogResult.OK Then

                ' Devemos atribuir o elemento como uma imagem
                Dim img As New Bitmap(Escolher.FileName)
                ' Pois só assim conseguiremos definir o clipboard.
                Clipboard.SetImage(img)
                RichText.Paste()

            End If
        End With
    End Sub




'Código para salvar

Private Sub SalvarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SalvarToolStripMenuItem.Click
        Dim Save As New SaveFileDialog()
        Dim MyStreamWriter As System.IO.StreamWriter
        Save.Filter = "Documentos (*.bot*)|*.bot|Texto (*.txt*)|*.txt|HTML(*.html*)|*.html|PHP(*.php)|*.php| Todos os Arquivos (*,*) | *,*"
        Save.Title = "Salvar Como"
        Save.ShowDialog(Me)
        Try
            MyStreamWriter = System.IO.File.AppendText(Save.FileName)
            MyStreamWriter.Write(RichTextBox.Text)
            MyStreamWriter.Flush()
        Catch ex As Exception
        End Try
    End Sub

Fico no aguardo

Share this post


Link to post
Share on other sites
Weasel

Mas uma imagem em formato html não tem que estar na seguinte forma: <img src="path para a imagem"></img> ??


Knowledge to the masses


Share this post


Link to post
Share on other sites
ribeiro55

Bem, lá criatividade não te falta :D

Quando estás a inserir a imagem numa RichTextBox, estás a inserir a imagem no formato RTF.

E o formato RTF está longe de ser HTML.

Como estás a gravar apenas a propriedade .Text, estás de facto só a guardar texto num ficheiro. Isto abre no browser, porque os browsers também suportam texto, caso contrário não aparecia nada. A imagem é completamente ignorada, mas mesmo que não fosse, eis o aspecto do código que está por detrás de uma RichText onde inseri uma imagem e escrevi uma linha de texto:

{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0 Microsoft Sans Serif;}}
\viewkind4\uc1\pard\f0\fs17{\pict\wmetafile8\picw4576\pich4576\picwgoal2594\pichgoal2594 
010009000003ecaf00000000d6af00000000050000000b0200000000050000000c02e011e011d6
af0000430f2000cc000000ad00ad0000000000e011e0110000000028000000ad000000ad000000
(...... ~18.000 linhas)
5aee4f5cee515ef05260ef525ff15361f75361f55765f35668f1586af3586cf35c6cf45d6ef360
6ef6626ffb626cff6b71eeb2b5f900030000000000
}\par
Assim n\'e3o d\'e1 rapaz...\par
}

A indicação das 18 mil linhas coloquei para não colocar ali as 18 mil linhas, obviamente :D

Se queres gravar para TXT ou PHP, não tens problema, porque é práticamente literal.

HTML não. HTML é texto, sim, mas com uma estrutura específica, onde não podes colocar imagem, apenas apontar para ela, como o Weasel observou.

Exemplo muito básico de um HTML com uma imagem:

<html>
    <head>
        <title>HTML Básico</title>
    </head>
    <body>
        <p>Uma imagem!</p>
        <img src="imagem.jpg" />
    </body>
</html>


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Share this post


Link to post
Share on other sites
williamjda

Entendi a questão. Modifiquei algumas propriedade do meu projeto. Vamos lá.

Seguinte eu tenho agora um Editor de html e um WebBrowser. Digito o código html no editor e ele aparece no WebBrowser. Quando digito o Código para inserir imagem ele aparece normalmente. Eu salvo como HTML. Abro o arquivo que salvei e a imagem aparece no navegador.

O que preciso é o seguinte agora. Tenho um botão alinhar, centralizar, etc... Quero que quando eu clicar em alinhar ele digite o código html do alinhar automaticamente no editor. Igual aqui do forum. Pois se o cliente não souber html ele possa fazer automatico.

Poderiam me ajudar.

Share this post


Link to post
Share on other sites
ribeiro55

Da mesma forma que estás a escrever HTML, basta acrescentar a propriedade align="??" na image, ou no container, dependendo de como estás a fazer isso.

http://www.w3schools.com/tags/att_img_align.asp


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Share this post


Link to post
Share on other sites
williamjda

O que estou a fazer é o seguinte.

O usuario ira clicar em Alinhar ao centro. Então a RichTexBox tem que mostrar o código EXEMPLO:  ( RichTextBox.Text = "<center>|")

OBS o cursor tem que ja estar posicionado como no exemplo acima para o usuario apenas digitar. Coloquei o seguinte código no Botão alinhar ao centro

RichTextBox.Text = "<center>"

ele funciona porem se eu clico no botão alinhar a esquerda ele apaga o código anterior como posso fazer com que ele crie outros código sem apagar. Apenas adicione mais código. Mas não apague.

Igual os botões aqui do forum.

Espero que tenha dado para entender.

Share this post


Link to post
Share on other sites
ribeiro55

Ao fazeres assim estás a substituír todo o valor de .Text por "<center>".

A ideia é englobar a selecção:

RichTextBox1.SelectedText = "<center>" & RichTextBox1.SelectedText & "</center>"


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

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.