Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-10-2013
Avatar de mrnovice
mrnovice mrnovice is offline
Miembro
 
Registrado: oct 2006
Posts: 163
Poder: 18
mrnovice Va por buen camino
Unhappy pasar de pointer

Saludos alguien me puede ayudar por favor....la situación es que estoy usando la libreria de vampyre imaging y trato de usarlo mediante la llamada del DLL del mismo imaging el problema es que tengo que convertir un tipo TImageData a un ya sea bitmap o Timage.picture.graphic la única manera que encontré de hacerlo es como el código que muestro a continuación. En resumen cómo le puedo hacer para transformar de un pointer a un stream de la función :
Código Delphi [-]
function ImSaveImageToMemory(Ext: PChar; Data: Pointer; var Size: LongInt; const Image: TImageData): Boolean; cdecl; external LibraryName;
Si alguien lo ha usado me puede decir como le hizo por fis lo intenté pero no me salió
saludos y gracias de antemano
Código Delphi [-]
var
 //  ImgBitmap: TImagingBitmap;
   ImgData: TImageData;
   jpg:TJPEGImage;
   stream,streamrecive : Tstream;
   HelpModule: HModule;
   L: Integer;
  Data: Pointer;
  Buffer,recive: Pointer;
 // S: TResourceStream;
  Length: Integer;
  tamanio:LongInt;
  exte:PChar;
  bmp:Tbitmap;
  valor:LongInt;
begin
  jpg:=TJPEGImage.create;
  if not ImLoadLibrary then showmessage('lol no encontrado');
  ImInitImage(ImgData);
  try
    stream := TMemoryStream.Create;
    jpg.Assign(foto.Picture.Graphic);
    jpg.SaveToStream(stream);
    stream.Position:=0;
    try
      L := Stream.Size;
      GetMem(Data, L);
      try
        Stream.ReadBuffer(Data^, L);
        Buffer := Data;
        Length := L;
        ImLoadImageFromMemory(Buffer,Length,ImgData);
        ImRotateImage(ImgData,value) ;

        if DiskInDrive('C') = false then        raise Exception.Create('No se tiene disco local en C');
     
        ImSaveImageToFile('C:\hola.bmp', ImgData);
        try
           bmp:=Tbitmap.Create;
           bmp.LoadFromFile('C:\hola.bmp');
           foto.Picture.Graphic:=bmp;
        finally
           bmp.Free;
        end;
      except
        FreeMem(Data);
        raise;
      end;
    finally
      Stream.Free;
    end;
  except
  end;
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Invalid Pointer Operation FerCastro Varios 3 23-02-2010 21:47:26
tipo al que apunta un pointer gushynet OOP 12 20-10-2008 20:08:41
Invalid Pointer operation Dll mcarazas Varios 0 15-10-2008 16:42:23
Invalid pointer con DLL brandolin Varios 2 07-06-2005 04:53:14
ADOTable y Record Pointer Carlex Conexión con bases de datos 3 19-08-2004 09:37:03


La franja horaria es GMT +2. Ahora son las 07:36:02.


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
Copyright 1996-2007 Club Delphi