Vágólap Képek mentése fájlba A C-ben#

a blogom Markdown-ba való áthelyezésének egyik motivációja az volt, hogy ne támaszkodjon a Windows Live Writerre, amely már nem támogatott, és számos hibával rendelkezik. De egy dolog, ami kényelmes volt, a képek beillesztése a bejegyzésekbe. Csak használhatom a Windows vágóeszközt, és beilleszthetem a képet közvetlenül egy bejegyzésbe. A Markdown-ban el kell mentenem a képet egy fájlba, és létre kell hoznom néhány jelölést, hogy utaljak erre a fájlra.

az ilyen kis automatizált feladatokhoz a goto eszköz a csodálatos LINQPad. Több száz forgatókönyvem van benne mindenféle hasznos dologhoz.

fájlnév generálása

először is a szkriptemnek ki kell dolgoznia, hogy hova mentse a képet a vágólapra. Ez attól függ, hogy milyen számítógépen futok, mivel a GitHub adattáramat különböző útvonalakra klónozzák. Itt van egy gyors és piszkos LINQ trükk, hogy kiválassza a megfelelő mappát, amelyik számítógépen vagyok:

var path = new { @"C:\Users\markh\code\web\markblog\wwwroot\posts18",@"C:\code\soundcode\MarkBlog\wwwroot\posts18" }.First(p => Directory.Exists(p));

ezután létre kell hoznom egy fájlnevet. A bejegyzés” csigáját ” használom előtagként, plusz egy növekvő szám. Ismét egy gyors LINQ-t használok az első utótag megtalálásához, amelyet még nem használtak.

var prefix = "css-social-media-icon-list";var fileName = Enumerable.Range(1,100) .Select(n => Path.Combine(path,$"{prefix}-{n}.png")) .First(p => !File.Exists(p));

Képek mentése a vágólapról

most már tudjuk, hová szeretnénk menteni a képet, a System.Windows.Forms.Clipboard osztály segítségével elérhetjük a képet, és elmenthetjük egy PNG fájlba. Ne tegye ki a” Windows Forms ” a névben – ez az osztály a legegyszerűbb módja a vágólap elérésének, és konzolról vagy WPF alkalmazásból is használható, ha akarja.

a vágólap tartalmát is frissítem azzal a jelöléssel, amelyet be akarok illeszteni a blogbejegyzésembe. Tehát most csak annyit kell tennem, hogy a Windows clip eszköz segítségével képernyőképet készítsek, futtassa ezt a szkriptet, majd illessze be a Markdown-t a szövegszerkesztőbe.

if(Clipboard.ContainsImage()){ Clipboard.GetImage().Save(fileName, ImageFormat.Png); Clipboard.SetText($"!(/posts/2018/{Path.GetFileName(fileName)})");}

tovább?

tehát majdnem olyan egyszerűen beillesztettem egy képet a markdown bejegyzéseimbe, mint a Windows Live Writer esetében, de a következő lépés egy hasonló folyamat beépítése a Visual Studio kódba, amelyet szerkesztőként használok. Azt hiszem, ez lehet alakítani egy Visual Studio Kód kiterjesztése, de gyanítom, hogy azt jelenti, egy átírási csomópont.js és tanulás, hogyan VS kód kiterjesztések munka. Ha sikerül, írok arról, hogyan csináltam.

de remélhetőleg ez hasznos mindenki számára, akinek szüksége van a vágólapra hozzáférést C#, valamint ad néhány ötletet, hogyan LINQPad szkriptek lehet használni, hogy automatizálják a kézi feladatokat.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.