Annonces Google
Serveur IRC
Serveur : irc.portlane.se
Canal : #AmigaNG
Activité du Site

Pages vues depuis 25/07/2007 : 25 354 980

  • Nb. de membres 187
  • Nb. d'articles 1 271
  • Nb. de forums 19
  • Nb. de sujets 20
  • Nb. de critiques 24

Top 10  Statistiques

Index du forum »»  Création-Développement »» libDevil ?

libDevil ?#1557

4Contributeur(s)
zzd10hAmiDARKalexthellier
3 Modérateur(s)
K-LElwoodcorto
zzd10h zzd10hicon_post
Hello,
Un petit fil sur l'utilisation de la libDevil qu'Alain a introduit il y a qq temps dans un autre fil de discussion.

Je vais essayer de m'en servir pour faire des conversions d'images (pour FastView) en attendant que cela soit intégrés dans les Datatypes.

1) alors que j'arrivais à compiler l'exemple d'Alain en novembre 2012, désormais KO
SDK/local/newlib/lib/libIL.a(il_png.o): In function `iIsValidPng':
il_png.c:(.text+0x21c): undefined reference to `png_check_sig'
/SDK/local/newlib/lib/libIL.a(il_png.o): In function `readpng_get_image':
il_png.c:(.text+0x7b0): undefined reference to `png_set_gray_1_2_4_to_8'

En remettant la newlib/libpng.a du 12/11/07 (288084o) ça marche.

Bref une récente libpng a du retiré ces fonctions.

newlib/libpng.a du 12/11/07 288084o = OK
newlib/libpng.a du 05/03/13 876660o = KO

Au moins, ça marche mais Alex et Alain, ça vous fait ça ?

2) pour les conversions, d'aprés la doc c'est tout simple

ILuint id1;
ilInit();
ilGenImages(1,&id1);
ilBindImage(id1);
ilLoadImage((const ILstring)"test.jpg");
ilSave(IL_BMP,"test.bmp");

ça me fait bien en sortie un fichier BMP (datatype OK) mais vide, de taille 1x1.

Ca me paraissait trop simple, J'ai du loupé qq chose ?

Merci ;-)
AmiDARK AmiDARKicon_post
Aurais-tu loupé quelque chose ?
Pas forcément.

Essaye de sauvegarder ton image dans un autre format.
D'après ce que j'ai entendu, certains datatypes n'ont pas les fonctions pour sauvegarder ... Et bien entendu, aucune information officielle sur le sujet donc, on y va un peu à l'aveuglette quand à savoir si on peut exporter dans un format ou un autre via les datatypes.

@+
zzd10h zzd10hicon_post
Merci Amidark mais ma question n'était pas sur les datatypes ;-) mais sur la conversion avec la libdevil.

Pour les sauvegardes par datatypes, tu as raison, d'ailleurs pour info j'avais ouvert un fil sur amigans avec un exemple en C pour mettre en évidence ce pb. Kasle a ainsi pu ouvrir des demandes d'améliorations.
Voir http://www.amigans.net/modules/xforum/viewtopic.php?post_id=78919#forumpost78919

C'est en attendant que je souhaite me servir de la libDevil pour faire ces conversions, et là...

Edit : j'ai essayé en BMP et PNG, avec la libdevil, ou tout du moins ma façon de m'en servir, toujours 1x1 pixel


Message édité par : zzd10h / 29-05-2013 00:09
alex alexicon_post
@zzd10h

je jette un oeil à mon code ce soir et je te tiens au courant.
--
AmigaOne A1222
AmigaOne X1000 - RadeonHD - 2 Gio RAM
AmigaOne XE G4@933 - Radeon 9200 SE - 512 Mio RAM
zzd10h zzd10hicon_post
Merci Alex,
Donc ça marche chez toi ?
AmiDARK AmiDARKicon_post
Je pensais que la LibDevil utilisait les datatypes pour la lecture/écriture de fichiers images. Si ce n'est pas le cas, alors ton 1x1 n'est pas normal effectivement.
alex alexicon_post
Pas dans sa version basique, par contre j'ai une méthode expérimentale permettant de le faire (enfin uniquement la lecture pour le moment).
--
AmigaOne A1222
AmigaOne X1000 - RadeonHD - 2 Gio RAM
AmigaOne XE G4@933 - Radeon 9200 SE - 512 Mio RAM
thellier thelliericon_post
@zzd10h

Je me sers de DevIL que sur PC mais là je viens d'y compiler ton prog et ça y marche

Pour ceux qui aurait pas compris à quels point DevIL est simplissime :
ce prog de qques lignes suffit pour convertir test.jpg en .bmp :-)


#!include!
#!include!
#!include!
#!include!

int main(int argc, char *argv[])
{
ILuint id1;

ilInit();
ilGenImages(1,&id1);
ilBindImage(id1);
ilLoadImage((const ILstring)"test.jpg");
ilSave(IL_BMP,"test.bmp");
return 0;

}
zzd10h zzd10hicon_post
Merci Alain de ta confirmation,
même si j'aurais espéré que tu me dises "Ben normal, là c'est pas bon"...

Donc sur PC (windows?) le même code convertit bien l'image en entrée.

Peut-être qu'AmiDark a raison et que cela se sert des Datatypes pour la sauvegarde et donc c'est foutu pour l'instant ?


Si vous avez le temps, Alex ou Alain vu que vous touchez à cette lib, pourriez-vous tester ce code sur AmigaOS 4 ?

Par avance, merci
AmiDARK AmiDARKicon_post
sur OS4depot, les informations ne pointent que sur les "input" (display) :

evIL currently supports the following APIs for display: OpenGL, Windows GDI,
SDL, DirectX and Allegro. Compilers that can compile DevIL or use it !!include!!
Djgpp, MSVC++, Linux gcc, Delphi, Visual Basic, Power Basic and Dev-C++.

Aucune information sur l'exportation.

Pour importer/exporter en PNG : http://os4depot.net/index.php?function=showfile&file=development/library/graphics/libpng.lha


@+

Message édité par : AmiDARK / 29-05-2013 14:52
Petites Annonces

0 annonce(s) publiée(s)

Consulter

AmigaOS 4.1

Laissez-vous tenter par
AmigaOS 4.1
AmiTheme

AmiTheme