Home    Forum    Search    FAQ    Register    Log in


Post new topic  Reply to topic 
Page 1 of 1
 
 
Paint. Crear Una Imagen Desde Cero
Author Message
Reply with quote   Download Post  
Post Paint. Crear Una Imagen Desde Cero 
 
Buenos días!.

Estoy acostumbrado a crear una imagen dentro de un DrawingArea.
Pero, ¿ y si yo quiero crear una imagen sin dibujarla en el DrawingArea ?

Con Paint.Begin le podemos decir en que vamos a crear nuestro dibujo.

- Image
- Picture
- DrawinArea

Hasta ahora no sé como hacerlo con el tipo Image y el tipo Picture.

La forma tradicional, dibujar en un DrawingArea.

Public Sub CrearCirculo()
    
  Paint.Brush = Paint.Color(Color.red)
  Paint.Arc(Pizarra.w / 2, Pizarra.H / 2, 80)
  Paint.Fill
  
End

Public Sub Pizarra_Draw()
  
  CrearCirculo

End


Pero y si hiciera algo como esto:

Private unaimagen As New Picture

Public Sub Form_Open()
  
  CrearCirculo
  
End

Public Sub CrearCirculo()
  
  Paint.Begin(unaimagen)
  Paint.Brush = Paint.Color(Color.red)
  Paint.Arc(Pizarra.w / 2, Pizarra.H / 2, 80)
  Paint.Fill
  Paint.End  
  
End
 


De principio. No se esta grabando  a ningún lado.
No pretendo tampoco capturar el área de dibujo del DrawingArea.
De esa forma da "imagen incorrecta" o algo por el estilo.

¿ Donde están las dimensiones ?.    

Bien. Algunos de los ejemplos lo que hace es cargar un archivo, lo retoca y luego lo graba.
Pero yo quiero crearlo de cero y grabarlo ya sea bien en un archivo o almacenarlo en una variable de un tipo imagen.  

Hasta ahora solo he podido hacer con el formato svg.

Public Sub Form_Open()
  
  CrearUNaImagen()
  
End

Public Sub CrearUNaImagen()
  
  Dim hFile As File
  Dim hSvgImg As New SvgImage
  
  If Exist(User.Home &/ "Imagem.svg") Then Kill User.Home &/ "Imagem.svg"
  hFile = Open "/tmp/SvgImg.svg" For Read Write Create
  Print #hFile, "<svg>"
  Print #hFile, "</svg>"
  hFile.Close()
  
  hSvgImg = hSvgImg.Load("/tmp/SvgImg.svg")
  hSvgImg.Width = 120
  hSvgImg.Height = 120
  Paint.Begin(hSvgImg)
  Paint.Brush = Paint.Color(Color.Red)
  Paint.Arc(60, 60, 50)
  Paint.Fill
  Paint.End
  hSvgImg.Save(User.Home &/ "Imagem.svg")
  
End
 


De principio me encuentro que la imagen del circulo no esta centrada.
Pss..y parece que el archivo no esta cerrado...hay veces que administrador de archivo se queda pensando...
( Que raro ).  

Fijaros, queda así:

 imagencreada

Y como veís en el código, la imagen tiene sus dimensiones a 120 x 120 y el centro del ciculo es de 60, 60 con un radio de 50.
Y la aplicación que nos muestra la imagen. Nos esta diciendo que la imagen tiene 150 x 150!..

Según nos dice Benoit.

Citar:

The SVG support of Qt has many bugs for years. I don't know if it will be better with Qt5.

 
¿ Saben como puedo hacerlo en un Picture o un Image ?.
¿ En que formato se grabaría ?...¿ png, bmp, jpg ?...   
¿ Solo puedo usar svg ?  

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - View user's profileSend private messageVisit poster's website 
Back to topPage bottom
Reply with quote   Download Post  
Post Re: Paint. Crear Una Imagen Desde Cero 
 
Pues este lo hice con Image.

Private unaimagen As Image

Public Sub Form_Open()
  
  unaimagen = New Image(Pizarra.W, Pizarra.H, Color.green, 0)
  CrearIimagen()
  
End

Public Sub CrearIimagen()
  
  Paint.Begin(unaimagen)
  Paint.Brush = Paint.Color(Color.red)
  Paint.Arc(Pizarra.W / 2, Pizarra.H / 2, 80)
  Paint.Fill
  Paint.End  
  unaimagen.Save(User.home &/ "Temporales/pruebaimagen.png")
  
End
 


Tomé como referencia la medida del DrawingArea, pero es indiferente.
Os puse un color que os gusta mucho de fondo.  
( Fijaros el efecto que hace al scrollear el mensaje ).  

 pruebaimagen

Podía haber puesto de extensión jpg, pero usé png, ¿ será indiferente ?.  

La instrucción de grabar la imagen tiene algún argumento más. como  imagen de calidad.

Pues si que es raro el efecto que hace..
Solo tenéis el scroll vertical...mmm..si queréis el horizontal tenéis que mover el monitor para los lados...pffffff...

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Last edited by Shell on Wednesday, 17 April 2019, 14:07; edited 3 times in total 
Shell - View user's profileSend private messageVisit poster's website 
Back to topPage bottom
Display posts from previous:    
 
HideSimilar Topics
Topic Author Forum Replies Last Post
No new posts Mostrar Imagen Desde Web datobinario Controles/Librerías/Componentes 4 Friday, 06 September 2013, 12:04 View latest post
vuott
No new posts Programacion En Gambas Desde Cero marciko General 7 Wednesday, 31 May 2017, 22:43 View latest post
tincho
No new posts Permisos De Los Archivos Al Actualizar Des... Shell Mundo Linux 2 Friday, 31 May 2019, 08:34 View latest post
Shell
No new posts Curso De Python3 Desde Cero Shell Python 11 Sunday, 16 February 2020, 15:20 View latest post
tercoIDE
 

Post new topic  Reply to topic  Page 1 of 1
 

Users browsing this topic: 0 Registered, 0 Hidden and 1 Guest
Registered Users: None


 
Permissions List
You cannot post new topics
You cannot reply to topics
You cannot edit your posts
You cannot delete your posts
You cannot vote in polls
You cannot attach files
You can download files
You cannot post calendar events



  

 

cron