JPGs en recursos
- Willi Quintana
- Posts: 1025
- Joined: Sun Oct 09, 2005 10:41 pm
- Location: Cusco - Perú
- Contact:
JPGs en recursos
Hola amigos,
Existira alguna manera de almacenar imagenes JPG en una archivo .RES ?? PellesC solo admite bmp y francamente son muy pesados...
Salu2
Existira alguna manera de almacenar imagenes JPG en una archivo .RES ?? PellesC solo admite bmp y francamente son muy pesados...
Salu2
- Willi Quintana
- Posts: 1025
- Joined: Sun Oct 09, 2005 10:41 pm
- Location: Cusco - Perú
- Contact:
- Antonio Linares
- Site Admin
- Posts: 42660
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Has thanked: 69 times
- Been thanked: 96 times
- Contact:
Re: JPGs en recursos
Willi,
Puedes incluirlos en el fichero RC de esta forma:
#define RT_RCDATA 10
JPG_1 RT_RCDATA NONDISCARDABLE "test.jpg"
De esa forma se puede almacenar lo que queramos en los recursos. Luego podemos "cargarlo" a una cadena así:
Puedes incluirlos en el fichero RC de esta forma:
#define RT_RCDATA 10
JPG_1 RT_RCDATA NONDISCARDABLE "test.jpg"
De esa forma se puede almacenar lo que queramos en los recursos. Luego podemos "cargarlo" a una cadena así:
Code: Select all | Expand
if FindResource( GetResources(), "JPG_1", 10 )
cJpg = cResToStr( "JPG_1", 10 )
MsgInfo( Len( cJpg ) )
endif
- Willi Quintana
- Posts: 1025
- Joined: Sun Oct 09, 2005 10:41 pm
- Location: Cusco - Perú
- Contact:
Re: JPGs en recursos
Gracia por el tip Antonio, aunque todavia no le doy la talla al jpg en los rc, pero llegare....
- Daniel Garcia-Gil
- Posts: 2365
- Joined: Wed Nov 02, 2005 11:46 pm
- Location: Isla de Margarita
- Contact:
Re: JPGs en recursos
Willi
Un ejemplo funcional (necesitas freeimage.dll)
RC
la hermosa olga
http://www.sitasoft.net/fivewin/bitmaps/olga1.jpg

el exe
http://www.sitasoft.net/fivewin/samples/olga.rar
Un ejemplo funcional (necesitas freeimage.dll)
Code: Select all | Expand
#include "FiveWin.ch"
#define RT_RCDATA 10
function Main()
local oDlg, oHand, oBmp1
local cJpg
DEFINE DIALOG oDlg RESOURCE "Test"
REDEFINE IMAGE oBmp1 ID 110 OF oDlg
if Len( cJpg := cResToStr( "JPG_1", RT_RCDATA ) ) != 0
oBmp1:LoadFromMemory( cJpg )
endif
ACTIVATE DIALOG oDlg CENTERED
return nil
#pragma BEGINDUMP
#include <windows.h>
#include <hbapi.h>
HINSTANCE GetResources( void );
HB_FUNC( CRESTOSTR ) // ( cnResName, cType ) --> cResourceBytes
{
HGLOBAL hglb;
LPCTSTR lpName;
LPCTSTR lpType;
HRSRC hRes;
if( HB_ISNUM( 1 ) )
lpName = ( LPCSTR ) hb_parnl( 1 );
else
lpName = ( LPCSTR ) hb_parc( 1 );
lpType = MAKEINTRESOURCE( hb_parni( 2 ) );
hRes = FindResource( GetResources(), lpName, lpType );
if( hRes )
{
hglb = LoadResource( GetResources(), hRes );
if( hglb )
hb_retclen( ( LPSTR ) LockResource( hglb ), SizeofResource( GetResources(), hRes ) );
else
hb_retc( "" );
}
else
hb_retc( "" );
}
#pragma ENDDUMP
RC
Code: Select all | Expand
#define RT_RCDATA 10
JPG_1 RT_RCDATA NONDISCARDABLE "olga1.jpg"
test DIALOG 17, 36, 235, 260
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "TestMap"
FONT 8, "MS Sans Serif"
{
CONTROL "", 110, "TImage", WS_CHILD | WS_VISIBLE, 0, 0, 235, 300
}
la hermosa olga
http://www.sitasoft.net/fivewin/bitmaps/olga1.jpg

el exe
http://www.sitasoft.net/fivewin/samples/olga.rar
our best documentation is the source code
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
- Willi Quintana
- Posts: 1025
- Joined: Sun Oct 09, 2005 10:41 pm
- Location: Cusco - Perú
- Contact:
- JoseAlvarez
- Posts: 814
- Joined: Sun Nov 09, 2014 5:01 pm
- Been thanked: 1 time
Re: JPGs en recursos
Saludos, hace pocos dias yo hice la misma consulta, por la misma razon. Amigos del foro me dieron luz para llegarle a la solucion.
no me considera un programador de excelencia, pero a mi manera lo hice asi, te lo explico de la manera mas sencilla posible:
yo uso el workshop para crear las ventanas y dialogos, para los otros recursos uso un archivo de texto plano. En ese archivo puse esto:
#define RT_RCDATA 10
#define RT_RCDATA2 10
JPG_1 RT_RCDATA NONDISCARDABLE "c:/xbapp/safelink/imagenes/jpg/publi01.jpg"
JPG_2 RT_RCDATA2 NONDISCARDABLE "c:/xbapp/safelink/imagenes/jpg/publi02.jpg"
donde le asigno un nombre al recurso y la ubicacion del archivo .jpg
y desde el prg lo llamo asi:
coloco esto luego del # include fivewin.ch
#define RT_RCDATA 10
#define RT_RCDATA2 10
y luego debajo, en los dialogos que lo necesito pongo esto:
Redefine Image oImg1 ID 81 OF oDlgMain adjust on click fNavegar(_JpgWebPublicidad)
if Len( cJpg1 := cResToStr( "JPG_1", RT_RCDATA ) ) != 0
oImg1:LoadFromMemory( cJpg1 )
else
msginfo('Error, no se pudo cargar la imagen '+cJpg1)
endif
funciona simple y al 100%. Si alguno de los foristas puede mejorar este codigo de manera mas profesional, quedaria altamente agradecido..
Saludos y espero que puedas solucionar...
no me considera un programador de excelencia, pero a mi manera lo hice asi, te lo explico de la manera mas sencilla posible:
yo uso el workshop para crear las ventanas y dialogos, para los otros recursos uso un archivo de texto plano. En ese archivo puse esto:
#define RT_RCDATA 10
#define RT_RCDATA2 10
JPG_1 RT_RCDATA NONDISCARDABLE "c:/xbapp/safelink/imagenes/jpg/publi01.jpg"
JPG_2 RT_RCDATA2 NONDISCARDABLE "c:/xbapp/safelink/imagenes/jpg/publi02.jpg"
donde le asigno un nombre al recurso y la ubicacion del archivo .jpg
y desde el prg lo llamo asi:
coloco esto luego del # include fivewin.ch
#define RT_RCDATA 10
#define RT_RCDATA2 10
y luego debajo, en los dialogos que lo necesito pongo esto:
Redefine Image oImg1 ID 81 OF oDlgMain adjust on click fNavegar(_JpgWebPublicidad)
if Len( cJpg1 := cResToStr( "JPG_1", RT_RCDATA ) ) != 0
oImg1:LoadFromMemory( cJpg1 )
else
msginfo('Error, no se pudo cargar la imagen '+cJpg1)
endif
funciona simple y al 100%. Si alguno de los foristas puede mejorar este codigo de manera mas profesional, quedaria altamente agradecido..
Saludos y espero que puedas solucionar...
"Los errores en programación, siempre están entre la silla y el teclado..."
Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin
Carora, Estado Lara, Venezuela.
Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin
Carora, Estado Lara, Venezuela.
- JoseAlvarez
- Posts: 814
- Joined: Sun Nov 09, 2014 5:01 pm
- Been thanked: 1 time
Re: JPGs en recursos
se me olvidaba, debes tener la libreria freeimage.dll y la nviewlib.dll al lado del ejecutable de tu aplicacion. A veces con una es suficiente, pero a veces no, no te sabria decir que marca la diferencia entre un equipo y otro, yo las puse las dos y cero problemas. no pesan nada.
"Los errores en programación, siempre están entre la silla y el teclado..."
Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin
Carora, Estado Lara, Venezuela.
Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin
Carora, Estado Lara, Venezuela.