Vient de recevoir une erreur étrange. J'ai été envoyé une image sur e-mail, a ouvert l'e-mail dans Outlook (version Office 365) et double cliquée sur l'image pour ouvrir. J'ai eu cette erreur:
"Windows Photo Viewer ne peut pas afficher cette image car il n'ya peut-être pas suffisamment de mémoire disponible sur votre ordinateur. Fermez certains programmes que vous n'utilisez pas ou libérez un espace disque dur (s'il est presque plein), puis réessayez."
quelques points:
Ce que j'ai essayé:
Cet article de Microsoft: https://social.technet.microsoft.com/forums/windows/en-us/7b6ae08b-4b5c-443b-9d43-443b-9d43-443b-9d43-443b-9d43-443b-9d43-443b-9d43-E87CA5E7AEB1/WNDOWS-Photo-Viewer-Operation?forum=w7itproappCompat
J'ai vu ce post: Windows Photo Viewer a besoin de plus de RAM?
Nettoyage de disque. Avait beaucoup d'espace disponible quand même mais rien n'a changé.
Spécifications: Je suis exécuté Windows 10 v1909 Build 18363.535 sur un ordinateur portable Lenovo P50 avec mémoire de 32 Go, stockage de 500 Go (actuellement 192 Go gratuit), Intel Core I7-6700HQ.
Appréciez si quelqu'un peut aider à résoudre ce problème. La nouvelle application Microsoft Photos est absolument terrible et je l'éviterai à tout prix.
Je creuse ce problème parce que j'avais un problème similaire avec des photos exportées de Android Envoyer gratuitement Application.
Ce problème dans mon cas est lié à Inclus Profile-ICC Dans ce fichier JPG.
Profiles:
Profile-icc: 536 bytes
Il peut être vérifié avec ImageMagick Identifier -verbose Commande.
Ceci n'est peut-être pas une solution pour l'ouvrir à partir d'Outlook, mais vous pouvez corriger les fichiers à la source.
J'ai découvert que lorsque je courais Convertir badfile.jpg -strip goodfile.jpg Commande sur ce fichier Il s'ouvre sur Windows 7 Photo Viewer sans problème.
-strip - strip image of all profiles and comments
Vous pouvez obtenir tout cet outil ici: https://imagemagick.org/script/download.php
Donc, si vous voulez faire que toutes les images accessibles à nouveau, il suffit d'exécuter un lot sur eux:
Mogriny.exe -Format JPG -VERBOSEBOSE -PATH C:\OUTPUT_DIR -Strip * .jpg
Peut-être également utilisé un chemin relatif similaire Chemin Output_Dir Si vous le souhaitez dans le sous-dossier.
Si vous devez ouvrir ces fichiers directement à partir d'Outlook, je recommanderais par exemple IRFANView, qui n'a pas de problème avec l'ouverture de ces fichiers. Il suffit de le définir comme programme de fichiers graphiques par défaut.
Certaines personnes ont informé quelque chose de lié à la variation de profils par défaut dans votre configuration de l'écran, mais je l'ai défini sur mon type de moniteur, donc je ne veux pas gâcher avec ces paramètres.
Si vous voulez cela entièrement automatique, vous avez besoin de 3 choses:
1) Premier décompressez ImageMagick à C:\Apps\ImageMagick-7.0.10-1-Portable-Q16-X64
2) Créer un script de lot C:\apps\gfxopen.bat:
@echo off
C:\Apps\ImageMagick-7.0.10-1-portable-Q16-x64\convert.exe %1 -strip c:\temp\temp12345file.jpg
rundll32 "C:\Program Files\Windows Photo Viewer\PhotoViewer.dll", ImageView_Fullscreen c:\temp\temp12345file.jpg
del c:\temp\temp12345file.jpg
3) Decompress DefaultProgramseditor et exécutez-le, puis choisissez Paramètres de type de fichier> Menu contextuel> Trouver une extension JPG, puis> Ajouter ...
Nom de la commande: Open Fixed Image
Chemin de programme: "C:\apps\gfxopen.bat" "%1"
Ensuite, choisissez "Ouvrir l'image fixe" et appuyez sur "Définir la commande sélectionnée comme défaut"
Alors Enregistrer le menu contextuel
C'est tout :)
Pour tout Android Developers qui pourraient rencontrer ceci: Semble que Windows Photo Viewer n'aime pas les métadonnées de profil ICC que Bitmap.compress
écrit (peut-être que ça n'aime pas aucun profils ICC en fait? Je n'ai pas vérifié).
Voici un moyen de simplement supprimer ce segment de métadonnées à partir du fichier JPEG, ce qui permet à une JPEG compatible avec Windows Photo Viewer:
// Some image viewer applications (such as Windows Photo Viewer) doesn't seem to like the ICC profile meta data that Android's Bitmap.compress writes.
// This decorator removes the section.
private static class RemoveFFE2OutputStreamDecorator extends OutputStream {
OutputStream underlyingStream;
boolean marker = false;
boolean skipSegment = false;
public RemoveFFE2OutputStreamDecorator(OutputStream underlyingStream) {
this.underlyingStream = underlyingStream;
}
@Override
public void write(int b) throws IOException {
// Based on https://en.wikipedia.org/wiki/JPEG#Syntax_and_structure
if (this.marker) {
this.marker = false;
if ((b & 0xFF) == 0xE2) { // The 0xFF,0xE2 segment that Android writes seems to cause trouble with Windows Photo Viewer.
this.skipSegment = true;
} else {
this.skipSegment = false;
this.underlyingStream.write(0xFF);
this.underlyingStream.write(b);
}
} else if ((b & 0xFF) == 0xFF) {
this.marker = true;
} else if (!this.skipSegment) {
this.underlyingStream.write(b);
}
}
@Override
public void flush() throws IOException {
this.underlyingStream.flush();
}
@Override
public void close() throws IOException {
this.underlyingStream.close();
}
}