Ich habe gerade einen seltsamen Fehler bekommen. Mir wurde ein Bild per E-Mail gesendet, ich habe die E-Mail in Outlook (Office 365-Version) geöffnet und zum Öffnen doppelt auf das Bild geklickt. Ich habe diesen Fehler erhalten:
„Die Windows-Fotoanzeige kann dieses Bild nicht anzeigen, da möglicherweise nicht genügend Speicher auf Ihrem Computer verfügbar ist. Schließen Sie einige Programme, die Sie nicht verwenden, oder geben Sie Speicherplatz auf der Festplatte frei (falls diese fast voll ist), und versuchen Sie es dann erneut.“
Einige Punkte:
- Ich habe auf diesem Laptop immer den Fotobetrachter verwendet und hatte bisher keine Probleme. Ich habe neu gestartet und versucht, das Bild erneut zu öffnen, aber ohne Erfolg.
- Das Bild ist nicht beschädigt. Ich habe es auf dem Desktop gespeichert und versucht, es zu öffnen. Das gleiche Problem. Ich habe es mit Photoshop geöffnet, das hat gut funktioniert. Ich habe es von PSD als neues JPG gespeichert. Das neue JPG zeigt auch dieselbe Meldung an.
- Bei jedem Bild, das ich zu öffnen versucht habe, tritt dieser Fehler auf.
- Das Bild ist 200 KB groß und hat eine Auflösung von 1428 x 2000.
- Mein Laptop verfügt über 32 GB RAM und verwendet laut Task-Manager derzeit 8 GB davon.
Was ich versucht habe:
Dieser Beitrag von Microsoft:https://social.technet.microsoft.com/Forums/windows/en-US/7b6ae08b-4b5c-443b-9d43-e87ca5e7aeb1/wndows-photo-viewer-operation?forum=w7itproappcompat
- Das hat nicht funktioniert, da ich beim Aufrufen der Farbverwaltung keine Profile eingerichtet habe und diese daher nicht löschen kann.
Ich habe diesen Beitrag gesehen:Benötigt der Windows-Fotobetrachter mehr RAM?
- Ich habe zwei Grafikkarten eingebaut: eine standardmäßige Intel(R) HD Graphics 530 und eine Nvidia Quadro M1000M. Ich habe die Auflösung im Beitrag ausprobiert (indem ich sie auf verschiedene Monitore mit unterschiedlichen Grafikkarten verschoben habe) und es hat sich nichts geändert.
Datenträger bereinigen. Hatte sowieso jede Menge freien Speicherplatz, aber es hat sich nichts geändert.
Spezifikationen: Ich verwende Windows 10 v1909 Build 18363.535 auf einem Lenovo P50-Laptop mit 32 GB Arbeitsspeicher, 500 GB Speicher (derzeit 192 GB frei), Intel Core i7-6700HQ.
Ich wäre dankbar, wenn mir jemand helfen könnte, das Problem zu beheben. Die neue Microsoft Photos-App ist absolut schrecklich und ich werde sie um jeden Preis vermeiden.
Antwort1
Ich finde dieses Problem interessant, weil ich ein ähnliches Problem mit aus Android exportierten Fotos hatte.Reduziert kostenlos sendenAnwendung.
Dieses Problem hängt in meinem Fall mit eingeschlossenenProfil-iccin dieser JPG-Datei.
Profiles:
Profile-icc: 536 bytes
Dies kann überprüft werden mitImageMagick identifizieren - ausführlichBefehl.
Dies ist möglicherweise keine Lösung zum direkten Öffnen aus Outlook, aber Sie können diese Dateien in der Quelle reparieren.
Ich habe festgestellt, dass beim LaufenKonvertiere BADFILE.jpg -strip GOODFILE.jpgBefehl für diese Datei, wird sie problemlos im Windows 7-Fotobetrachter geöffnet.
-strip - strip image of all profiles and comments
Das gesamte Tool erhalten Sie hier:https://imagemagick.org/script/download.php
Wenn Sie also alle Bilder wieder zugänglich machen möchten, führen Sie einfach eine Stapelverarbeitung dafür aus:
mogrify.exe -format jpg -verbose -path C:\OUTPUT_DIR -strip *.jpg
Kann auch als relativer Pfad verwendet werden, wie-path Ausgabeverzeichniswenn Sie sie in einem Unterordner möchten.
Wenn Sie diese Dateien direkt aus Outlook öffnen müssen, empfehle ich beispielsweise IrfanView, das keine Probleme beim Öffnen dieser Dateien hat. Legen Sie es einfach als Standardprogramm für Grafikdateien fest.
Einige Leute haben mir geraten, die Standardprofile in Ihrer Bildschirmkonfiguration zu ändern, aber ich habe es auf meinen Monitortyp eingestellt und möchte diese Einstellungen daher nicht ändern.
Wenn Sie dies vollautomatisch möchten, benötigen Sie 3 Dinge:
- Standardprogrammeditor (https://defaultprogramseditor.com/)
- ImageMagick (https://imagemagick.org/download/binaries/ImageMagick-7.0.10-1-portable-Q16-x64.zip)
- Batch-Skript, das geöffnete Dateien verarbeitet.
1) Dekomprimieren Sie ImageMagick zunächst nach c:\apps\ImageMagick-7.0.10-1-portable-Q16-x64
2) Batch-Skript erstellenc:\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) DekomprimierenStandardprogrammeditorund führen Sie es aus, dann wählen SieDateitypeinstellungen > Kontextmenü > JPG-Erweiterung suchen, dann > Hinzufügen...
Befehlsname:Open Fixed Image
Programmpfad:"C:\apps\gfxopen.bat" "%1"
Dann wähle„Feststehendes Bild öffnen“und drücke"Ausgewählten Befehl als Standard festlegen"
DannKontextmenü speichern
Das ist alles :)
Antwort2
Ich hatte das gleiche Problem und habe es mit den folgenden einfachen Schritten gelöst:
- Öffnen Sie die Bilddatei mit Notepad++ oder einem anderen ähnlichen Hex-Editor.
ICC_PROFILE
Im Text suchen und ersetzen durchICC_PROFILX
(normalerweise in der ersten Textzeile der Datei)- Speichern Sie die bearbeitete Datei. Das ist alles!
Antwort3
Antwort4
Für alle Android-Entwickler, die dies hier finden: Scheint, als ob Windows Photo Viewer die ICC-Profil-Metadaten nicht mag, die Bitmap.compress
geschrieben werden (vielleicht mag es sie nichtbeliebigTatsächlich ICC-Profile? Ich habe es nicht überprüft).
So können Sie dieses Metadatensegment einfach aus der JPEG-Datei entfernen, sodass ein JPEG entsteht, das wieder mit der Windows-Fotoanzeige kompatibel ist:
// 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();
}
}