Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Svg (https://www.clubdelphi.com/foros/showthread.php?t=82541)

Neeruu 17-03-2013 08:28:56

Svg
 
Hola a todos...

Tengo un archivo svg (Info) y necesito generar la imagen a partir de ese archivo y mostrarlo.....

Hay algún componente que realice este procesamiento y me genere la imagen?

Saludos...

ecfisa 17-03-2013 09:22:22

Hola Neru.

Por favor intenta poner títulos mas descriptivos, "Svg" no dice nada acerca de tu consulta. Un título como por ejemplo "Generar imágenes a partir de archivos .SVG", hubiera sido más significativo.

Saludos y gracias por tu colaboración. :)

Neeruu 17-03-2013 09:36:13

Generar imágenes a partir de archivos .SVG
 
oK... alguna idea de con que puedo generar imagenes a partir de archivos .svg


Saludos

ecfisa 17-03-2013 09:45:01

Hola de nuevo.

Encontré este componente: ExtGraph, revisa si te puede servir.

Saludos.

Neftali [Germán.Estévez] 18-03-2013 11:39:46

Si, tal como se explica aquí, ExtGraph es una extensión de SimpleGraph, para implementar SVG.

Neeruu 20-03-2013 23:06:29

Encontré este componente también...

http://development.mwcs.de/svgimage.html

Me encontré con ciertos svg con texto donde los navegadores no lo visualizan porque la codificación de los caracteres con acentos cambian en utf8

Con este componente que publico y por lo que vi en el demo no me hace falta cambiar los caracteres con acento a su equivalente en utf8 para que me genere la imagen....

Neeruu 21-03-2013 00:06:31

El componente da un error en la unidad DirectDraw... y mis conocimientos no llegan tan lejos como para tratar de solucionarlo...

Sera que alguien puede pegarle una mirada y ver si lo puede hacer andar o decirme como puedo solucionarlo...

El error que da es el siguiente:

Código Delphi [-]
[DCC Error] DirectDraw.pas(366): E2154 Type 'IDirectDrawSurface' needs finalization - not allowed in variant record

Saludos

Neeruu 21-03-2013 02:41:46

Definitivamente no pude hacer andar ninguno de los componentes mencionados hasta ahora en este Post....

Alguna idea..??? Nadie trabajo nunca con archivos svg?

Lo que necesito es convertir un archivo svg a png, bmp, jpg para luego poder cargar la imagen en quickreport....

Saludos....

Neeruu 21-03-2013 03:11:35

Cita:

Empezado por Neeruu (Mensaje 457260)
Encontré este componente también...

http://development.mwcs.de/svgimage.html

Me encontré con ciertos svg con texto donde los navegadores no lo visualizan porque la codificación de los caracteres con acentos cambian en utf8

Con este componente que publico y por lo que vi en el demo no me hace falta cambiar los caracteres con acento a su equivalente en utf8 para que me genere la imagen....

Este componente instalado en delphi 7 anda.... ahora necesitaria poder hacer que ande en delphi 2010.
Me podrian ayudar...

Gracias...

Neftali [Germán.Estévez] 21-03-2013 09:45:54

¿Has probado el otro que hemos comentado?
Según la página compila en todas las versiones de Delphi.

Neeruu 21-03-2013 12:24:22

Si he probado y no pude hacerlo andar...

Por Ahora lo que me queda es hacer una dll en delphi 7 donde paso como parametro el svg y que me devuelva el bitmap

Pero si alguien puede instalar el componente que sugiero y ver si puede hacerlo andar en delphi 2010 o por lo menos guiarme en que cambios debería hacer para que pueda utilizar el componente en delphi 2010 se lo voy a agradecer mucho....

Saludos.

Neeruu 21-03-2013 12:44:23

Ahí pude hacer andar el componente que me pasaron (SimpleGraph) pero no me lee los svg que tengo....

Alguien podría explicarme esta linea de código...


Código Delphi [-]
const
  StreamSignature: DWORD =
    (Ord('S') shl 24) or (Ord('G') shl 16) or (Ord('.') shl 8) or Ord('0');

Esta constante se compara cuando cargo el svg en el procedimiento loadfromfile...

Código Delphi [-]

procedure TSimpleGraph.LoadFromFile(const Filename: String);
var
  Stream: TFileStream;
begin
  Stream := TFileStream.Create(Filename, fmOpenRead or fmShareDenyWrite);
  try
    LoadFromStream(Stream);
  finally
    Stream.Free;
  end;
end;

procedure TSimpleGraph.LoadFromStream(Stream: TStream);
var
  Signature: DWORD;
begin
  Stream.Read(Signature, SizeOf(Signature));
  if Signature <> StreamSignature then
    raise EGraphStreamError.Create(SStreamContentError);
  BeginUpdate;
  try
    Clear;
    ReadObjects(Stream);
    SaveModified := 2;
  finally
    EndUpdate;
  end;
end;

Alguna idea de lo que esta haciendo?


La franja horaria es GMT +2. Ahora son las 10:00:53.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi