從各式網站下載出來的漫畫包,通常都是一個資料夾下面有圖片,然後再用 Picture Viewer 來讀,一頁一頁切換,有時候組合成一頁式的漫畫也不錯,因此這款工具就誕生了。

不同的版本

一開始我從同學那兒拿到了這樣的工具的產生器,它是一個 bat 檔案:

set a=  
for /f %%b in ('dir /B') do echo ^<img%a%src^=^"%%b^"%a%^/^>>>1.txt  
find /i ".jpg"<1.txt>>2.txt  
find /i ".png"<1.txt>>2.txt  
find /i ".gif"<1.txt>>2.txt  
find /i ".bmp"<1.txt>>2.txt  
echo ^<style^>img{max-height:150vh;height:auto;display:block;margin:0 auto;}a{width: 40px;height: 40px;opacity: 0.3;position: fixed;bottom: 50px;right: 100px;display: none;text-indent: -9999px;}^<^/style^>>>a.html  
echo ^<body^>^<span id='top'^>^</span^>>>a.html  
sort<2.txt>>a.html  
echo ^<script^>>>a.html  
echo var img=document.querySelectorAll('img');for(var i=0;i^<img.length;i++){img[i].addEventListener('click',function(e){e.stopPropagation(); window.scrollBy(0,this.height/2);});}>>a.html  
echo window.onresize=function(event){var img=document.querySelectorAll('img');for(var i=0;i^<img.length;i++){img[i].addEventListener('click',function(e){e.stopPropagation(); window.scrollBy(0,this.height/2);});}};>>a.html  
echo window.onclick=function(){window.location='#top'};>>a.html  
echo ^</script^>>>a.html  
echo ^</body^>>>a.html  
del 1.txt 2.txt  

這個工具的使用是將這個 bat 放到圖片目錄下執行,就會自動產生網頁。

不過這個工具有個缺點,就是排序問題,由於排序是依序比對檔案名稱的開頭到結尾,導致 1.jpg ~ 9.jpg 之後的 10.jpg ~ 19.jp 會被排放到第二位,所以產生後漫畫順序會變成:

  • 1.jpg
  • 10.jpg
  • 11.jpg -....
  • 2.jpg
  • 21.jpg

自己做產生器

由於 Windows 內建的排序模式不符合漫畫產生器所需要的排序模式,所以就必須找到 Library ,或是自幹。

(內建排序若做這種依照數字排序的話,會有點浪費效能)

我在網路上找到一個可以以 Number String 來排序的工具:

vcepa - Numeric String Sort in C

因此就拿來做一個這樣的漫畫閱讀網頁產生器。

API 不難使用,只要把 Array 丟進去就可以排序了。

List<string> files = new List<string>();

string[] fileEntries = Directory.GetFiles(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location));

NumericComparer ns = new NumericComparer();  
Array.Sort(fileEntries, ns);  

雖然沒什麼技術成分,不過至少是一個可以正常幫你排序漫畫圖片的工具 (゚3゚)~♪ 。

使用方法

下載: 下載檔案 (GitHub)

將這個 .exe 放到圖片目錄下執行,命令提示字元會詢問你這個網頁檔案要叫什麼名稱。

檔案名稱不需要加副檔名,輸入名稱按下 Enter 即可。

如果你對這個專案有興趣,歡迎到 GitHub: https://github.com/hpcslag/webcomic_generator