Importer facilement des lots d'images dans le simulateur

muqaddarmuqaddar Administrateur
22:44 modifié dans Actualités #1
Si vous devez travailler avec des images dans le simulateur, vous savez que celui-ci est vide par défaut.
Une solution consiste à  glisser les images sur le simulateur, ce qui ouvre Safari, et de faire un clic-droit puis "Save Image". Ce qui enregistre l'image dans l'album photos.

Pour importer un lot d'images, vous pouvez télécharger l'application disponible ici:
http://aptogo.co.uk/2010/09/importing-photos/

qui va importer des lots d'images depuis un dossier, et créer les vignettes, le cache...etc.
Ce qui est pratique lorsque l'on change de version de simulateur...

Réponses

  • BunoBuno Membre
    22:44 modifié #2
    Hello,
    Pour ma part, je fais une recherche avec Google Images et j'enregistres quelques résultats  ;)
  • AliGatorAliGator Membre, Modérateur
    22:44 modifié #3
    Pareil que Buno
    Par contre je ne connaissais pas l'astuce de faire glisser une image sur le simulateur qui ouvre Safari !! C'est pratique ce truc !
  • FKDEVFKDEV Membre
    22:44 modifié #4
    Si tu as du temps, que c'est un réel besoin, et que tu comptes utiliser la ALAssetLibray dans un futur proche (et que tu es sous iOS 4), alors tu peux développer une petit app qui va copier toutes les images qu'elle trouve dans son répertoire Documents vers la photo library (en espérant que cela fonctionne sous le simulateur).

    Un exemple de code glané sur stackoverflow:

    UIImage *viewImage = YOUR UIIMAGE&nbsp; // --- mine was made from drawing context<br />ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];&nbsp; <br />// Request to save the image to camera roll&nbsp; <br />[library writeImageToSavedPhotosAlbum:[viewImage CGImage] orientation:(ALAssetOrientation)[viewImage imageOrientation] completionBlock:^(NSURL *assetURL, NSError *error){&nbsp; <br />&nbsp; &nbsp; if (error) {&nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; NSLog(@&quot;error&quot;);&nbsp; <br />&nbsp; &nbsp; } else {&nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; NSLog(@&quot;url %@&quot;, assetURL);&nbsp; <br />&nbsp; &nbsp; }&nbsp; <br />}];&nbsp; <br />[library release];
    


    Tu rajoutes un directory enumerator autour et le tour est joué. Y'a en a pour une demi-heure.
    Un bon exercice si tu as un stagiaire sous la main...  >:)

  • muqaddarmuqaddar Administrateur
    22:44 modifié #5
    dans 1300978194:

    Un bon exercice si tu as un stagiaire sous la main...  >:)


    Tu parles à  qui ? A Ali ?
  • FKDEVFKDEV Membre
    22:44 modifié #6
    Euh non, c'était plutôt le "tu indéfini", mais mal employé.


  • muqaddarmuqaddar Administrateur
    mars 2011 modifié #7
    Parce qu'Ali a l'habitude de chapeauter des stagiaires... ;)

    [size=6pt]Il se murmure même qu'il est très dur avec les petits nouveaux. S'ils oublient un release, il doivent faire 20 pompes dans le bureau... mais chut...[/size]
  • DrakenDraken Membre
    22:44 modifié #8
    Tiens GreenSource ne passe plus sur le forum.
    Il a disparu depuis combien de temps ? Ah oui, je me souviens, juste après avoir terminé son stage avec Ali !  ::)

  • FKDEVFKDEV Membre
    mars 2011 modifié #9
    Voilà  le code.
    Tu fais un nouveau projet de type view.
    Tu copies/colles le code ci-dessus dans le viewDidLoad par exemple.
    Tu n'oublie pas d'ajouter le framework ALAssetsLibrary et l'import :


    <br />#import &lt;AssetsLibrary/AssetsLibrary.h&gt;<br />
    




    <br />ALAssetsLibrary* library = [[ALAssetsLibrary alloc] init];<br />NSString* dirPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];<br />NSArray *supportedExtension = [NSArray arrayWithObjects:@&quot;bmp&quot;, @&quot;png&quot;, @&quot;gif&quot;, @&quot;jpg&quot;, @&quot;jpeg&quot;, nil ];<br />NSFileManager* fileManager = [NSFileManager defaultManager];<br />NSDirectoryEnumerator* dirEnum = [fileManager enumeratorAtPath:dirPath] ;<br />if (dirEnum)<br />{<br />	NSString *path;<br />	while (path = [dirEnum nextObject]) <br />	{<br />		path = [dirPath stringByAppendingPathComponent:path];<br />		NSString* extension = [[path pathExtension] lowercaseString ];<br />		if ([supportedExtension containsObject:extension ] == YES)		<br />		{<br />			UIImage *img = [UIImage imageWithContentsOfFile:path];<br />			<br />			[library writeImageToSavedPhotosAlbum:img.CGImage orientation:(ALAssetOrientation)img.imageOrientation <br />								&nbsp; completionBlock:^(NSURL* assetURL, NSError* error) <br />								&nbsp; {<br />									&nbsp; if (error != NULL)<br />										&nbsp; NSLog(@&quot;error %@&quot;, error);<br />								&nbsp; }] ;					<br />		}<br />	}<br />}
    
  • muqaddarmuqaddar Administrateur
    22:44 modifié #10
    Merci.

    C'est sympa de partager ce bout de code. 
  • FKDEVFKDEV Membre
    22:44 modifié #11
    De rien.  :)

    Franchement, c'est pas grand chose. Des bouts de codes que j'ai agrégés.
Connectez-vous ou Inscrivez-vous pour répondre.