O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

Acabei de receber um erro estranho. Recebi uma imagem por email, abri o email no Outlook (versão Office 365) e cliquei duas vezes na imagem para abrir. Eu recebi este erro:

"O Windows Photo Viewer não pode exibir esta imagem porque pode não haver memória suficiente disponível no seu computador. Feche alguns programas que você não está usando ou libere espaço no disco rígido (se estiver quase cheio) e tente novamente."

insira a descrição da imagem aqui

Alguns pontos:

  • Sempre usei o visualizador de fotos neste laptop e nunca tive problemas antes. Reiniciei e tentei abrir a imagem novamente, mas sem sorte.
  • A imagem não está corrompida. Salvei na área de trabalho, tentei abrir, mesmo problema. Abri com o Photoshop, funcionou bem. Salvei-o do PSD como um novo JPG. O novo JPG também exibe a mesma mensagem.
  • Qualquer imagem que tentei abrir resulta neste erro.
  • A imagem tem 200 KB de tamanho e resolução de 1428x2000.
  • Meu laptop tem 32 GB de RAM e atualmente usa 8 GB disso, de acordo com o gerenciador de tarefas.

O que eu tentei:

Esta postagem da Microsoft:https://social.technet.microsoft.com/Forums/windows/en-US/7b6ae08b-4b5c-443b-9d43-e87ca5e7aeb1/wndows-photo-viewer-operation?forum=w7itproappcompat

  • Isso não funcionou porque quando chego ao gerenciamento de cores, não tenho perfis configurados, então não posso excluir.

Eu vi esta postagem:O Windows Photo Viewer precisa de mais memória RAM?

  • Tenho 2 placas de vídeo integradas: Intel(R) HD Graphics 530 padrão e uma Nvidia Quadro M1000M. Eu tentei a resolução do post (movendo-a para monitores diferentes com placas de vídeo diferentes) e nada mudou.

Limpeza de disco. De qualquer maneira, tinha muito espaço livre, mas nada mudou.

Especificações: estou executando o Windows 10 v1909 Build 18363.535 em um laptop Lenovo P50 com 32 GB de memória, 500 GB de armazenamento (atualmente 192 GB livres), Intel Core i7-6700HQ.

Agradeço se alguém puder ajudar a consertar isso. O novo aplicativo Microsoft Photos é absolutamente terrível e irei evitá-lo a todo custo.

Responder1

Eu gosto desse problema porque tive um problema semelhante com fotos exportadas do AndroidEnviar reduzido grátisaplicativo.

Este problema no meu caso está relacionado ao incluídoPerfil-iccnaquele arquivo JPG.

  Profiles:
  Profile-icc: 536 bytes

Isso pode ser verificado comIdentificação do ImageMagick -verbosecomando.

Talvez esta não seja a solução para abri-lo diretamente no Outlook, mas você pode corrigir esses arquivos na origem.

Eu descobri que quando corroconverter BADFILE.jpg -strip GOODFILE.jpgcomando nesse arquivo ele abre no Windows 7 Photo Viewer sem nenhum problema.

-strip  - strip image of all profiles and comments

Você pode obter toda essa ferramenta aqui:https://imagemagick.org/script/download.php

Então, se você quiser tornar todas as imagens acessíveis novamente, basta executar o lote nelas:

mogrify.exe -format jpg -verbose -path C:\OUTPUT_DIR -strip *.jpg

Também pode ser usado um caminho relativo como-caminho OUTPUT_DIRse você os quiser na subpasta.

Se você precisar abrir esses arquivos diretamente do Outlook, recomendo, por exemplo, o IrfanView, que não tem problemas para abrir esses arquivos. Basta configurá-lo como programa de arquivos gráficos padrão.

Algumas pessoas aconselharam algo relacionado à alteração de perfis padrão na configuração da sua tela, mas eu configurei para o meu tipo de monitor, então não quero mexer com essas configurações.

Se você quiser isso totalmente automático, precisará de três coisas:

  1. Editor de programas padrão (https://defaultprogramseditor.com/)
  2. ImageMagick (https://imagemagick.org/download/binaries/ImageMagick-7.0.10-1-portable-Q16-x64.zip)
  3. Script em lote que processará o arquivo aberto.

1) Primeiro descompacte o ImageMagick para c:\apps\ImageMagick-7.0.10-1-portable-Q16-x64

2) Criar script em lotec:\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) DescompacteEditor de programas padrãoe execute-o e escolhaConfigurações de tipo de arquivo > Menu de contexto > encontre a extensão jpg e > Adicionar...

Nome do comando:Open Fixed Image

Caminho do programa:"C:\apps\gfxopen.bat" "%1"

Então escolha"Abrir imagem fixa"e pressione"Definir o comando selecionado como padrão"

EntãoSalvar menu de contexto

Isso é tudo :)

Responder2

Eu tive o mesmo problema e resolvi seguindo etapas simples:

  • Abra o arquivo de imagem com o Notepad++ ou qualquer outro editor hexadecimal semelhante.
  • Encontre ICC_PROFILEdentro do texto e substitua por ICC_PROFILX(geralmente na primeira linha de texto do arquivo)
  • Salve o arquivo editado. Isso é tudo!

Antes insira a descrição da imagem aqui Depois insira a descrição da imagem aqui

Responder3

Digite colorna caixa de pesquisa do menu Iniciar do Windows e abra o arquivo Colour Management.

pesquisa no menu iniciar "cor"

Vá então para a Advancedaba e selecione Agfa:Swop Standardpara oDevice Profile

Tela de gerenciamento de cores

Responder4

Para qualquer desenvolvedor Android que possa se deparar com isso: Parece que o Windows Photo Viewer não gosta dos metadados do perfil ICC que Bitmap.compressgrava (talvez não gostequalquerPerfis ICC, na verdade? não verifiquei).

Esta é uma maneira de simplesmente remover esse segmento de metadados do arquivo JPEG, o que resulta em um JPEG compatível com o Windows Photo Viewer novamente:

    // 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();
        }
    }

informação relacionada