Starší verze aplikace Fotografie ve Windows je lepší než ta nová. Ke staré se ještě stále můžete dostat

15. 2. 2023

Sdílet

Autor: PCWorld.com
Někdy nejnovější a podle všeho zaručeně skvělá aplikace pro operační systém Windows nemusí být nutně tou nejlepší.

Když přijde na prohlížení fotografií pořízených mobilním telefonem na počítači s operačním systémem Windows, pak pro většinu uživatelů je volba vhodné aplikace víceméně jasná – je jí aplikace Fotky (v operačním systému Windows 10), popřípadě Fotografie (v operačním systému Windows 11). Aplikace Fotografie však ve skutečnosti není ničím jiným než novou verzí aplikace Fotky a podle všeho to zatím vypadá, že stará verze této aplikace je považována za lepší.

Zřejmě na tom asi něco bude, protože i firma Microsoft zřejmě došla k podobnému závěru, když starou verzi aplikace Fotografie pojmenovanou nyní jako Microsoft Fotografie – starší verze můžete bez problémů získat přímo v obchodu Windows Store.  Přitom existuje minimálně jeden dobrý důvod, proč této starší verzi dát přednost před tou novější, kterým jsou lepší možnosti vyhledávání odpovídajícího obsahu.

Pět nových funkcí ve Windows 11, které stojí za to vyzkoušet Přečtěte si také:

Pět nových funkcí ve Windows 11, které stojí za to vyzkoušet

Při pořizování fotografií řada uživatelů trpí takovým nešvarem, kdy velmi ráda fotografii pořídí, pak ji uloží, popřípadě zveřejní na sociálních sítích – a pak na ni zapomene. I když neplatí to samozřejmě vždy. Někdy si prostě chcete snímky, které jste pořídili kdysi dávno, jednoduše prohlédnout – ať už proto, abyste viděli, jak vaše děti vyrostly, zavzpomínali na nějakou zvlášť vydařenou dovolenou nebo akci, nebo si jen vyhledali snímky, které jste pořídili na nějakém konkrétním místě. A přesně v těchto případech aplikace Microsoft Fotografie – starší verze vyniká. Nebo možná nevyniká, ale v každém případě je lepší než nová verze aplikace Fotografie.

Naprosto skvělé je v tomto případě u starší verze aplikace Fotografie vyhledávací pole, protože v něm můžete vyhledávat osoby, místa nebo věci. V nové verzi aplikace Fotografie ale můžete vyhledávat názvy souborů, typy souborů a data. To je prostě nesmysl. Schválně – kdo z vás zná název souboru, který jste právě vyfotili, a kdo z vás si je schopen jej zapamatovat? A pokud se nejedná o den, kdy jste měli svátek nebo narozeniny, pochybuji, že si budete pamatovat datum, kdy jste danou fotografii pořídili.

Starší verze aplikace Fotografie používá pro rozpoznávání a pro třídění foografií do jisté míry umělou inteligenci. Proto když ve starší verzi aplikace Fotogafie zadáte do vyhledávacího pole zadat výraz „pláž“, skutečně se vám mohou ve výsledcích vyhledávání objevit fotografie nedalekého kalifornského pobřeží. 

Když zkusíte vyhledávání hor, vrátí vám starší verze aplikace Fotografie snímky kopců a hor, které jste pořídili. Samozřejmě nic není dokonalé; pořídil jsem například fotografii jezera Tahoe (které je obklopeno horami). Tuto fotografii třeba program najít nedokázal, nicméně alespoň přišel na to, že toto místo v archivu existuje.

Obě verze aplikace Fotografie dokáží vytvořit na daný den „Vzpomínky“, nicméně pouze starší verze aplikace Fotografie navrhuje vlastní kategorie, jako je například „Sport“, kam vloží záběry z atletických soutěží, kterých se můj syn studující na střední škole, zúčastnil. V nové verzi aplikace Fotografie, která je v operačním systému Windows nastavena jako výchozí, nic takového neudělám.

Ve starší verzi aplikace Fotografie se po zadání klíčového slova „pláž“ vskutku zobrazí snímky s pláží.

Tyto snímky podle starší verze aplikace Fotografie odpovídají klíčovým slovům „korálový útes“.

Starší verze aplikace Fotografie ale umožňuje zapnout vyhledávání podle obličeje a skutečně i podle něj vyhledávat. Nemusí se ale nutně jednat o váš vlastní obličej, ale i o obličeje jiných lidí. V tomto případě to ovšem vypadá, že firma Microsoft zřejmě respektuje ochranu soukromí daleko více než konkurence, protože tato funkce funguje jen velmi skromně. Ze všech fotografií rodiny a přátel, které jsem pořídil, rozpoznala pouze dvě: mou vlastní a tvář sochy v centru města, kterou jsem použil k testování některých venkovních záběrů fotoaparátu.

Jinak jsou obě verze aplikace Fotografie prakticky stejné, nicméně novější verze aplikace působí utříděněji a aktuálně má přístup i k iCloudu firmy Apple. Obě verze aplikace Fotografie již obsahují funkci náhledů, která dříve nestála za nic, nicméně od té doby se zlepšila, což platí i o rychlosti zobrazování. Obě verze aplikace umí ořezávat, upravovat a dokonce i snímky upravovat automaticky, a to prostřednictvím funkce Automatické vylepšení, kterou najdete pod ikonkou „Filtr“. Funkce automatického vylepšení již není tak nutná jako dříve, protože soudobé fotoaparáty nyní pořizují snímky s téměř dokonalým osvětlením a expozicí při prakticky všech možných podmínkách. I přesto se ale tato funkce může v některých případech hodit.

Jediné, co se mi na starší verzi aplikace Fotografie nelíbí, je skutečnost, že indexování (ale nikoli vyhledávání!) fotografií uložených do cloudu může nějakou dobu trvat a trochu zatěžuje síťové připojení. Pokud tedy chcete starší verzi aplikace Fotografie používat k indexování fotografií, pak ji nechte chvíli běžet na pozadí.

Starší verze aplikace Fotografie sice není v rozpoznávání obličejů tak dobrá jako podobné aplikace od firmy Google, ale funguje.

Když si tedy shrneme, proč byste si měli vůbec do svého počítače starší verzi aplikace Fotografie stáhnout, pak důvody jsou v zásadě dva – rozpoznávání obličejů a vyhledávání fotografií. Je ovšem třeba čestně přiznat, že firma Microsoft při srovnání s aplikací Fotky Google přece jen poněkud zaostává. 

bitcoin_smenarna

Aplikace Fotky Google totiž díky své schopnosti rozpoznávat a dělit jednotlivé snímky na základě toho, kdo na nich je, dokáže vytvářet různé kategorie – a dokonce dokáže roztřídit do různých kategorií i snímky mých dětí, kterým je zase o několik let více a jsou z nich najednou teenageři. Vzhledem k tomu, že si moje manželka platí pro svou malou firmu účet u firmy Google, mám s tím osobní zkušenost. Když nahraji své snímky do cloudu firmy Google a současně ty samé snímky do cloudu firmy Microsoft a porovnám úroveň jejich třídění, firma Google pokaždé vyhraje.

Program Fotografie od firmy Microsoft některými funkcemi pro automatické rozpoznávání samozřejmě disponuje, ovšem nejedná se o aktuální verzi aplikace Fotografie. Proto si raději stáhněte a spusťte starší verzi této aplikace.

 

Získejte pro svůj produkt či službu ocenění IT produkt roku! Soutěž „IT produkt roku“ vyhlašuje redakce Computertrends s cílem vyzdvihnout výrobky disponující vlastnostmi, které je významně odlišují od konkurenčních produktů stejné kategorie. Může přitom jít jak o celkově inovativní pojetí produktu, tak o jednotlivé funkční zdokonalení, výrazně zjednodušené ovládání nebo třeba o výjimečně příznivou cenu.

Soutěž probíhá ve třech samostatných kolech v kalendářním roce a každý postupující produkt či služba do jednoho ze tří finálových kol získává právo na titul IT produkt roku.

Máte-li zájem účastnit se soutěže IT produkt roku, neváhejte. Kontaktujte nás prosím na [email protected].

O přihlášku a více informací si můžete napsat nebo zavolat na telefonech 776 204 420 nebo 604 266 707 či 725 326 893, případně na také na adrese [email protected].

'; document.getElementById('preroll-iframe').onload = function () { setupIframe(); } prerollContainer = document.getElementsByClassName('preroll-container-iframe')[0]; } function setupIframe() { prerollDocument = document.getElementById('preroll-iframe').contentWindow.document; let el = prerollDocument.createElement('style'); prerollDocument.head.appendChild(el); el.innerText = "#adContainer>div:nth-of-type(1),#adContainer>div:nth-of-type(1) > iframe { width: 99% !important;height: 99% !important;max-width: 100%;}#videoContent,body{ width:100vw;height:100vh}body{ font-family:'Helvetica Neue',Arial,sans-serif}#videoContent{ overflow:hidden;background:#000}#adMuteBtn{ width:35px;height:35px;border:0;background:0 0;display:none;position:absolute;fill:rgba(230,230,230,1);bottom:20px;right:25px}"; videoContent = prerollDocument.getElementById('contentElement'); videoContent.style.display = 'none'; videoContent.volume = 1; videoContent.muted = false; const playPromise = videoContent.play(); if (playPromise !== undefined) { playPromise.then(function () { console.log('PREROLL sound allowed'); // setUpIMA(true); videoContent.volume = 1; videoContent.muted = false; setUpIMA(); }).catch(function () { console.log('PREROLL sound forbidden'); videoContent.volume = 0; videoContent.muted = true; setUpIMA(); }); } } function setupDimensions() { prerollWidth = Math.min(iinfoPrerollPosition.offsetWidth, 480); prerollHeight = Math.min(iinfoPrerollPosition.offsetHeight, 320); } function setUpIMA() { google.ima.settings.setDisableCustomPlaybackForIOS10Plus(true); google.ima.settings.setLocale('cs'); google.ima.settings.setNumRedirects(10); // Create the ad display container. createAdDisplayContainer(); // Create ads loader. adsLoader = new google.ima.AdsLoader(adDisplayContainer); // Listen and respond to ads loaded and error events. adsLoader.addEventListener( google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED, onAdsManagerLoaded, false); adsLoader.addEventListener( google.ima.AdErrorEvent.Type.AD_ERROR, onAdError, false); // An event listener to tell the SDK that our content video // is completed so the SDK can play any post-roll ads. const contentEndedListener = function () { adsLoader.contentComplete(); }; videoContent.onended = contentEndedListener; // Request video ads. const adsRequest = new google.ima.AdsRequest(); adsRequest.adTagUrl = iinfoVastUrls[iinfoVastUrlIndex]; console.log('Preroll advert: ' + iinfoVastUrls[iinfoVastUrlIndex]); videoContent.muted = false; videoContent.volume = 1; // Specify the linear and nonlinear slot sizes. This helps the SDK to // select the correct creative if multiple are returned. // adsRequest.linearAdSlotWidth = prerollWidth; // adsRequest.linearAdSlotHeight = prerollHeight; adsRequest.nonLinearAdSlotWidth = 0; adsRequest.nonLinearAdSlotHeight = 0; adsLoader.requestAds(adsRequest); } function createAdDisplayContainer() { // We assume the adContainer is the DOM id of the element that will house // the ads. prerollDocument.getElementById('videoContent').style.display = 'none'; adDisplayContainer = new google.ima.AdDisplayContainer( prerollDocument.getElementById('adContainer'), videoContent); } function unmutePrerollAdvert() { adVolume = !adVolume; if (adVolume) { adsManager.setVolume(0.3); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } else { adsManager.setVolume(0); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } } function onAdsManagerLoaded(adsManagerLoadedEvent) { // Get the ads manager. const adsRenderingSettings = new google.ima.AdsRenderingSettings(); adsRenderingSettings.restoreCustomPlaybackStateOnAdBreakComplete = true; adsRenderingSettings.loadVideoTimeout = 12000; // videoContent should be set to the content video element. adsManager = adsManagerLoadedEvent.getAdsManager(videoContent, adsRenderingSettings); // Add listeners to the required events. adsManager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, onAdError); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED, onContentPauseRequested); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED, onContentResumeRequested); adsManager.addEventListener( google.ima.AdEvent.Type.ALL_ADS_COMPLETED, onAdEvent); // Listen to any additional events, if necessary. adsManager.addEventListener(google.ima.AdEvent.Type.LOADED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.STARTED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.COMPLETE, onAdEvent); playAds(); } function playAds() { // Initialize the container. Must be done through a user action on mobile // devices. videoContent.load(); adDisplayContainer.initialize(); // setupDimensions(); try { // Initialize the ads manager. Ad rules playlist will start at this time. adsManager.init(1920, 1080, google.ima.ViewMode.NORMAL); // Call play to start showing the ad. Single video and overlay ads will // start at this time; the call will be ignored for ad rules. adsManager.start(); // window.addEventListener('resize', function (event) { // if (adsManager) { // setupDimensions(); // adsManager.resize(prerollWidth, prerollHeight, google.ima.ViewMode.NORMAL); // } // }); } catch (adError) { // An error may be thrown if there was a problem with the VAST response. // videoContent.play(); } } function onAdEvent(adEvent) { const ad = adEvent.getAd(); console.log('Preroll event: ' + adEvent.type); switch (adEvent.type) { case google.ima.AdEvent.Type.LOADED: if (!ad.isLinear()) { videoContent.play(); } prerollDocument.getElementById('adContainer').style.width = '100%'; prerollDocument.getElementById('adContainer').style.maxWidth = '640px'; prerollDocument.getElementById('adContainer').style.height = '360px'; break; case google.ima.AdEvent.Type.STARTED: window.addEventListener('scroll', onActiveView); if (ad.isLinear()) { intervalTimer = setInterval( function () { // Example: const remainingTime = adsManager.getRemainingTime(); // adsManager.pause(); }, 300); // every 300ms } prerollDocument.getElementById('adMuteBtn').style.display = 'block'; break; case google.ima.AdEvent.Type.ALL_ADS_COMPLETED: if (ad.isLinear()) { clearInterval(intervalTimer); } if (prerollLastError === 303) { playYtVideo(); } break; case google.ima.AdEvent.Type.COMPLETE: if (ad.isLinear()) { clearInterval(intervalTimer); } playYtVideo(); break; } } function onAdError(adErrorEvent) { console.log(adErrorEvent.getError()); prerollLastError = adErrorEvent.getError().getErrorCode(); if (!loadNext()) { playYtVideo(); } } function loadNext() { iinfoVastUrlIndex++; if (iinfoVastUrlIndex < iinfoVastUrls.length) { iinfoPrerollPosition.remove(); playPrerollAd(); } else { return false; } adVolume = 1; return true; } function onContentPauseRequested() { videoContent.pause(); } function onContentResumeRequested() { videoContent.play(); } function onActiveView() { if (prerollContainer) { const containerOffset = prerollContainer.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight/1 && containerOffset.bottom > 0.0) { if (prerollPaused) { adsManager.resume(); prerollPaused = false; } return true; } else { if (!prerollPaused) { adsManager.pause(); prerollPaused = true; } } } return false; } function playYtVideo() { iinfoPrerollPosition.remove(); youtubeIframe.style.display = 'block'; youtubeIframe.src += '&autoplay=1&mute=1'; } }
OSZAR »