Microsoft brengt fix uit voor screenshot-bug in Windows – Computer – Nieuws

Omdat je een bestand moet openen voordat je iets kan opslaan. Het openen van een bestand zorgt ervoor dat het besturingssysteem de juiste ingangen kan aanmaken en, bij een bestaand bestand, de juiste metadata kan opvragen. Dit alles om te bepalen waar in het bestandssysteem de gegevens staan ​​of komen te staan, waar het programma momenteel leest of schrijft, etc

Als je iets uit een doos wilt nemen (lezen), dan doe je eerst de doos open. Wil je vervolgens iets in die doos steken (schrijven), dan zorg je er ook eerst voor dat die doos open is. Zit er al iets in die doos, dan heb je de keuze: doe ik hem open en gooi ik de inhoud weg (schrijven+afkappen)? Steek ik het nieuwe gewoon bij in de doos (toevoegen)? Of vervang ik een deel van de inhoud door het nieuwe (schrijven, en eigenlijk overschrijven als je filepointer niet aan het einde van het bestand is)? Deze dingen moeten je aangeven met vlaggen.

Openen, wijzigen en sluiten zijn in deze aanpak ook gewoon 3 verlies functionaliteiten. Dit zijn dingen die je in een eerste jaar universiteit ook gewoon zo leert. Dit is ook gewoon hoe het in de meeste programmeertalen werkt. Al wordt er vaak wel een gemaksklasse over gelegd. Kijk voor de grap eens naar: https://cplusplus.com/reference/cstdio/fopen/

Om op je volgende opmerking in te gaan:

Jij bent dus van mening dat het normaal is dat een ontwikkelaar de taak heeft gekregen om een ​​bijgesneden functie te schrijven, geen invloed zou hebben op de bestandsgrootte? En dat het ook normaal is dat hij geen afvalinzameling heeft gedaan met de afvalgegevens?

Als de ontwikkelaar invloed zou hebben op de bestandsgrootte, dan zou ik aanraden om de persoon te promoveren naar een functie waar zijn kennis wel gebruikt wordt. Dat zou onderdompelen dat hij kennis heeft van de verschillende bestandsformaten en precies weet hoe hij ze moet implementeren. Ik heb in mijn masteropleiding zelf een educatieve versie van encoders en decoders voor afbeeldingen en video moeten schrijven en heb ondertussen +10jaar werkervaring met beeldverwerking en analyseren. Er is geen haar op mijn hoofd dat er aan denkt om functionaliteit voor het lezen/opslaan van afbeeldingen zelf te schrijven.

Ik zou de verantwoordelijke van de ontwikkelaar wel een cursus software-engineering aanbevelen, want die heeft nog nooit een oplossing gevonden voor de opsplitsen van functionaliteit.

Wat de ontwikkelaar waarschijnlijk heeft, is een bibliotheek voor eenvoudige beeldverwerking en het inlezen en opslaan van afbeeldingen. Ik gok een van MS zelf, maar met OpenCV komt dat neer op:

// Afbeelding inlezen
cv::Mat img = cv::imread(invoerbestand);

// laat gebruiker regio selecteren
// Knip regio uit img
cv::Mat croppedImg = img(regio).clone(); // Of zonder kloon als je geen kopie wilt nemen, kan zeker voor efficiëntieredenen

// Sla afbeelding op
cv::imwrite(uitvoerbestand, bijgesnedenImg);

Zoals je ziet: geen controle over de opslag (buiten de bestandsnaam). Sterf je niet? Die uit imencode die de afbeelding gecodeerd is, gevolgd door een aantal file-IO operaties die eerst een file openen, vervolgens de data wegschrijven en daarna de file sluiten.

credit :Source link

We will be happy to hear your thoughts

Leave a reply

12game.shop
Logo