








家時『Adobe Acrobat Pro』采用年費或月費租用, 冇左永久賣斷.
係網有『Adobe Acrobat Pro 2017』零售版買. 安装後顯示係『Adobe Acrobat Pro DC』2015版.妳會得兩個CD-KEY, 壹個係印包装紙袋, 另壹個係𢴇行安装時自帶.
終於可以編輯PDF文檔, 衹係版本舊D.
Windows10/Windows11









家時『Adobe Acrobat Pro』采用年費或月費租用, 冇左永久賣斷.
係網有『Adobe Acrobat Pro 2017』零售版買. 安装後顯示係『Adobe Acrobat Pro DC』2015版.妳會得兩個CD-KEY, 壹個係印包装紙袋, 另壹個係𢴇行安装時自帶.
終於可以編輯PDF文檔, 衹係版本舊D.


『ArcGIS地理訊息系統』米國Esri公司, 係上世紀1980年開向量地理程式.
登入『Esri官網』下載ArcGIS
| https://www.esri.com |
早期『ArcGIS.Desktop』依然支援x86/x64-Windows, 去到『ArcGIS.Pro』衹支援x64-Windows.
| 版本 | 支援Windows | |
| ESRI.ArcGIS.Desktop.FULL.v10.8.2 | x86/x64 | |
| ESRI.ArcGIS.Pro.v3.1 | x64 | |
| ESRI.ArcGIS.Pro.v3.0 | x64 | 冇使賬號 |
| ESRI.ArcGIS.Pro.v3.3 | x64 | 冇使賬號 |
| ESRI.ArcGIS.Pro.v3.5 | x64 | 賬號登錄 |
安装『ArcGIS.Pro』
| Click here to participate in the Esri User Experience Improvement program.(Recommended) |

高解像度『TIFF』圖片, 加入『BIGTIFF』規范,使用64bit支緩4GB以上圖片. 支緩『ZIP』壓縮.擴展名『.tf8』『.btf』『.tiff』.
『BIGTIFF』圖檔頭Image File Header(IFH)
| typedef struct BIGTIFF_HEAD_TYP { | BIGTIFF圖檔頭 |
| WORD ByteOrder; | 字節順序 ‘II’ / ‘MM’ |
| WORD version; | BIGTIFF圖檔版本 0x002B |
| WORD ReservedOffset; | 保留 |
| WORD Reserved; | 保留 |
| DWORD64 offset; | 首個IFD偏移量64BIT,邊界對齊4 |
| }BIGTIFF_HEAD, * BIGTIFF_HEAD_PTR; |
區分『BIGTIFF』仝『TIFF』
| #define TIFF_VERSION 0x002A | TIFF圖檔版本 |
| #define BIGTIFF_VERSION 0x002B | BIGTIFF圖檔版本 |
『BIGTIFF』新增三個數據類型
| #define BIGTIFF_TYPE_LONG8 16 | 冇符號8字節(64位)整数 |
| #define BIGTIFF_TYPE_SLONG8 17 | 有符號8字節(64 位)整数 |
| #define BIGTIFF_TYPE_IFD8 18 | 无符号8字節(64位)IFD偏移。 |
『BIGTIFF』新增ZIP壓縮類型 8
| #define TIFF_Compression_ZIP 8 | ZIP壓縮, MAX_WBITS帶 zlib 頭和尾 |
『BIGTIFF』目錄入口 Directory Entry(DE)
| typedef struct BIGTIFF_ENTER_TYP { | 即係數值 |
| WORD tag; | 標識 |
| WORD type; | 數據類型 1~12 16~17 |
| DWORD64 count; | 數量64BIT |
| union {
DWORD64 data; |
數值64BIT |
| DWORD64 offset;
}; |
偏移64BIT |
| }BIGTIFF_ENTER, * BIGTIFF_ENTER_PTR; |
『BIGTIFF』目錄 Image File Directory(IFD)
| typedef struct BIGTIFF_DIRECTORY_TYP { | |
| DWORD64 count; | 目錄數量64BIT |
| BIGTIFF_ENTER enter_array[1]; | 目錄,即係數值 |
| // DWORD64 offset; | 64BIT下壹個偏移-BIGIFD |
| }BIGTIFF_DIRECTORY, * BIGTIFF_DIRECTORY_PTR; |
『高解像圖片』組織成『Tiled瓦片』而非『條帶Strip』, 低中解像圖像用標準『TIFF』『條帶Strip』.『高解像圖片』切割成大致方正塊狀,而非長條『條帶Strip』.壓縮效果更佳.
『Tiled瓦片』取代『StripOffsets』、『StripByteCounts』『RowsPerStrip』. 切忽仝時用『Tiled瓦片』仝『條帶Strip』.
『TileWidth』仝『TileLength』『瓦片』定義寬高. 所有『瓦片』『寬高』相同, 『瓦片』邊界填充.
當『ImageWidth』=129, 『TileWidth』= 64.則分割3個『Tiled瓦片』, 最後一個填充63個像素.
平鋪邊界代價需要浪費一定空間,但係壓縮可以將填充區壓縮到接近0.
即使數據冇壓縮,『Tiled瓦片』祗适用於『高解像圖片』. 『高解像圖片』分割大量『Tiled瓦片』, 填充區祈浪費百分之幾空間,
『Tiled瓦片』被單獨壓縮, 仝『條帶Strip』壓縮一樣. 即每個『Tiled瓦片』數據被視為單獨『條帶Strip』.
『Tiled瓦片』欄位:
| 『Tiled瓦片』欄位: | ||
| TileWidth | SHORT or LONG | 瓦片寬度, 必須16倍數 |
| TileHeight | SHORT or LONG | 瓦片高度, 必須16倍數 |
| TileOffsets | LONG or LONG8 | 瓦片(數據)偏移, 從左到右從上到下的順序排列. |
| TileByteCounts | SHORT or LONG or LONG8 | 瓦片數據字節量, 從左到右從上到下的順序排列. |
載入瓦片數據
| bool Load_Tile_TIFF(TIFF_PTR tiff){ |
| PBYTE tile_buffer; // 瓦片圖像
DWORD64 tile_size; // 瓦片數據字節量 DWORD64 tile_offset;// 瓦片数据偏移 DWORD64 tiles_countX;// 瓦片橫跨 DWORD64 tiles_countY; // 瓦片縱跨 DWORD64 line_size; DWORD64 index, i, j; // 索引 DWORD64 offset;// (數據)偏移. DWORD64 count;// 數據字節量 DWORD64 size;// 寫入量 DWORD64 buffer_offset;// 圖像数据偏移 DWORD64 buffer_size;// 圖像数据字節 |
| tiles_countX = (tiff->ImageWidth + tiff->TileWidth – 1) / tiff->TileWidth;// 瓦片橫跨 |
| tiles_countY = (tiff->ImageHeight + tiff->TileHeight – 1) / tiff->TileHeight;// 瓦片縱跨 |
| tile_size = tiff->TileWidth * tiff->TileHeight * tiff->SamplesPerPixel; // 瓦片數據字節量 |
| tile_buffer = (PBYTE)malloc(tile_size);// 分配記憶體 |
| size = 0;// 寫入量 |
| // 計算圖像所占長度
buffer_size = (tiff->ImageWidth * tiff->ImageHeight) * tiff->SamplesPerPixel; |
| // 定位平鋪/瓦片图像数据
for (j = 0; j < tiles_countY; ++j){ |
| for (i = 0; i < tiles_countX; ++i){ |
| index = j * tiles_countX + i; |
| offset = tiff->TileOffsets[index]; // (數據)偏移.
count = tiff->TileByteCounts[index]; // 數據字節量 |
| // 讀瓦片數據
if (tiff->Compression == TIFF_Uncompressed) {// 未壓縮 memcpy(tile_buffer, tiff->data + offset, count);// 复制图像数据 size = size + count;// 累積寫入量 }else |
| if (tiff->Compression == TIFF_Compression_LZW)
{// LZW 解壓縮 tile_size = ((tiff->TileWidth * tiff->TileHeight) * tiff->SamplesPerPixel); UnCompress_Data_LZW(&_lzw, tile_buffer, &tile_size, tiff->data + offset, count); size = size + tile_size;// 累積寫入量 } else |
| if (tiff->Compression == TIFF_Compression_ZIP)
{// ZIP 解壓縮 DWORD _tile_size = ((tiff->TileWidth * tiff->TileHeight) * tiff->SamplesPerPixel); Uncompress_Data_ZIP(tile_buffer, &_tile_size, tiff->data + offset, (DWORD)count, MAX_WBITS); size = size + _tile_size;// 累積寫入量 } |
| // 寫入瓦片數據
for (DWORD tindex = 0; tindex < tiff->TileHeight; ++tindex) { |
| if ( (j * tiff->TileHeight + tindex) >= tiff->ImageHeight )
break;// 超出 |
| buffer_offset = ( ((j * tiff->TileHeight + tindex) * tiff->ImageWidth) + (i * tiff->TileWidth)) * tiff->SamplesPerPixel;// 圖像数据偏移 |
| tile_offset = tindex * tiff->TileWidth * tiff->SamplesPerPixel;// 瓦片数据偏移 |
| if ((tiff->TileWidth * i) > tiff->ImageWidth)
line_size = (tiff->ImageWidth – (tiff->TileWidth * (i – 1))) * tiff->SamplesPerPixel; else line_size = tiff->TileWidth * tiff->SamplesPerPixel; |
| if (buffer_offset >= buffer_size)
break;// 截斷填充區 |
| memcpy(tiff->buffer + buffer_offset, tile_buffer + tile_offset, line_size);
} } } |
| free(tile_buffer);// 释放
return true; } |

『TIFF圖檔』『Tagged Image File Format』『標記圖檔格式』.擴展名『.tif』或『.tiff』.
首先去『官網』下載tiff圖檔格式指南『tiff6.pdf』.
| https://www.itu.int/itudoc/itu-t/com16/tiff-fx/docs/tiff6.pdf |
| https://download.osgeo.org/libtiff/doc/TIFF6.pdf |
話明係『標記』. 所有數據由『標記』組成. 數據類型多, 長度可變. 支持多種壓縮, 包括『有損壓縮』仝『冇損壓縮』.
『TIFF圖檔』由三個結构體組成
| TIFF圖檔結构體 | 簡述 |
| Image File Header(IFH) | 圖檔頭 |
| Image File Directory(IFD) | 目錄, 保存Directory Entry |
| Directory Entry(DE) | 目錄項-愛蒞保存數據 |
『TIFF圖檔』必定以『Image File Header(IFH)』開始,與眾吾仝係可以保存成『little-endian』或者『big-endian』. 仲可記錄其它格式圖像.
| Image File Header(IFH) | 圖檔頭結构體 |
| WORD ByteOrder; | 字節順序 ‘II’ / ‘MM’ |
| WORD version; | TIFF版本0x002A號, BIGTIFF版本0x002B號 |
| DWORD offset; | 首個IFD偏移量 |
頭兩字節『ByteOrder』字節順序,
| ByteOrder; | 字節順序 |
| ‘II’ | 0x4949 little-endian 細端順序 主機字節 |
| ‘MM’ | 0x4D4D big-endian 大端順序 網路字節 |
『type』圖檔版本0x002A號,
『offset』 首個IFD偏移量,邊界對齊2, 即係2倍數.
壹個TIFF圖檔可能含有多個IFD, 每個IFD都是一個子圖檔.
| Image File Directory(IFD) | 目錄, 保存Directory Entry |
| WORD count; | 數據量 |
| Directory Entry [0]; | 數據0 |
| Directory Entry [1]; | 數據1 |
| Directory Entry [2]; | 數據2 |
| … | |
| DWORD offset; | 下壹IFD偏移, 冇為0. |
| Directory Entry(DE) | 目錄項, 即係數據 |
| WORD tag; | 標簽, 即係name, 下面詳解. |
| WORD type; | 數據類型1~12, 下面詳解. |
| DWORD count; | 數據量 |
| DWORD Value or Offset; | 數據或偏移 |
頭兩字節『tag』標簽.
『type』數據類型, 有12種數據類型,下面介紹.
『count』數據量.
『Value or Offset』數據小於等於4BYTE, 直接擺放數據. 超過4BYTE係偏移
TIFF有12種數據類型.
| 數據類型 | 簡述 |
| 1 | BYTE 8bit冇符號整數 |
| 2 | ASCII字符串, 以NULL結尾 |
| 3 | SHORT-16bit 冇符號短整型 |
| 4 | LONG-32bit 冇符號長整型 |
| 5 | RATIONAL-64bit冇符號分数型,兩個LONG,首LONG係分子,次LONG係分母. |
| 6 | SBYTE-8BIT 有符號整數 |
| 7 | UNDEFINED-8BIT未定義數據 |
| 8 | SSHORT-16BIT 有符號整數 |
| 9 | SLONG-32BIT 有符號整數 |
| 10 | SRATIONAL-64BIT有符號分数型,兩個SLONG,首LONG係分子,次LONG係分母. |
| 11 | FLOAT-4BIT 單精度IEEE格式 |
| 12 | DOUBLE-8BIT 雙精度IEEE格式 |
唯一要講『RATIONAL』64bit冇符號分数型,兩個LONG,首LONG係分子,次LONG係分母.
| typedef struct TIFF_SRATIONAL_TYP { | |
| DWORD molecule; | 首LONG係分子 |
| DWORD denominator; | 次LONG係分母. |
| }TIFF_SRATIONAL, * TIFF_SRATIONAL_PTR; |
『SRATIONAL』64BIT有符號分数型,兩個SLONG,首LONG係分子,次LONG係分母.
| typedef struct TIFF_SRATIONAL_TYP { | |
| int molecule; | 首LONG係分子 |
| int denominator; | 次LONG係分母. |
| }TIFF_SRATIONAL, * TIFF_SRATIONAL_PTR; |
『tag』標簽, 即係數據名.
| tag | type | 簡述 |
| PhotometricInterpretation:
262(0x0106) |
SHORT | 反色顯示.
1=WhiteIsZero白色RGB(0,0,0),黑色RGB(255,255,255). 2=BlackIsZero黑色RGB(0,0,0),白色RGB(255,255,255). 3=RGB 4=RGBPalette 5=TransparencyMask 6=CMYK 7=YCbCr 8=CIELab |
| Compression: 259(0x0103) | SHORT | 1=吾壓縮.
2=霍夫曼壓縮 3=Group 3 Fax 4=Group 4 Fax 5=LZW 6=JPEG 32773=PackBits壓縮 |
| ImageHeight: 257(0x0101) | SHORT or LONG | 圖像高 |
| ImageWidth:256(0x0100) | SHORT or LONG | 圖像寬 |
| ResolutionUnit:296 (0x0128) | SHORT | 解析度單位,計算圖像物理尺碼
1: ratio縱橫比 2: Inch.英寸(默認) 3: Centimeter.釐米 |
| XResolution: 282 (0x011A) | RATIONAL | ImageWidth解析度,X像素解析度,例航拍300m/1000m |
| YResolution:283 (0x011B) | RATIONAL | ImageHeight解析度,Y像素解析度,例航拍300m/1000m |
| RowsPerStrip: 278 (0x0116) | SHORT or LONG | 圖像掃描線長度,等於圖像高度. |
| StripOffsets: 273 (0x0111) | SHORT or LONG | 圖像掃描線(數據)偏移. |
| StripByteCounts: 279 (0x0117) | SHORT or LONG | 圖像數據字節總量 |
| BitsPerSample: 258 (0x0102) | SHORT | 每粒像素位Bit
1=1bit(單色); 4=4bit(16色); 8=8bit(256色) |
| ColorMap: 320 (0x0140) | SHORT | 調色板偏移, 256色和16色圖像先有調色板
3 * (2**BitsPerSample) |
| SamplesPerPixel: 277 (0x0115) | SHORT | 每粒像素字節BYTE
3=(24bit)RGB色 |
| Artist: 315 (0x013B) | ASCII | 創建圖像軟體 |
| CellLength: 265 (0x0109) | SHORT | Threshholding=2 |
| CellWidth: 264 (0x0108) | SHORT | Threshholding=2 |
| Copyright: 33432 (0x8298) | ASCII | 版權聲明: |
| DateTime: 306 (0x0132) | ASCII | 創建日期:
YYYY:MM:DD HH:MM:SS |
| ExtraSamplesa: 338 (0x0152) | SHORT | 說明:
0=未指定數據 1= alpha值(帶預乘顏色) 2=未關聯alpha值 |
| FillOrder: 266 (0x010A) | SHORT |
1= 2= |
| FreeByteCounts: 289 (0x0121) | LONG | free字節量 |
| FreeOffsets: 288 (0x0120) | LONG | free偏移 |
| GrayResponseCurve: 291 (0x0123) | SHORT | 灰度數據-光密度 |
| GrayResponseUnit: 290 (0x0122) | SHORT | 灰度數據-單元
1 |
| HostComputer: 316 (0x013C) | ASCII | 創建圖像操作系統 |
| ImageDescription: 270 (0x010E) | ASCII | 影像描述 |
| Make:271 (0x010F) | ASCII | 掃描儀厰商 |
| MaxSampleValue: 281 (0x0119) | SHORT | |
| MinSampleValue: 280 (0x0118) | SHORT | |
| Model: 272 (0x0110) | ASCII | 掃描儀型號 |
| NewSubfileType: 254 (0x00FE) | LONG | 子檔案中資料類型
ReducedResolution 0x00000001低分辯率; MultiPageImage 0x00000002 多頁影像; TransparencyMask 0x00000004 透明遮罩; |
| Orientation: 274 (0x0112) | SHORT | 影像相對於行和列方向
1:TopLeft 2:TopRight 3:BottomRight 4:BottomLeft 5:LeftTop 6:RightTop 7:RightBottom 8:LeftBottom |
| PhotometricInterpretation: 262 (0x0106) | SHORT | 光度解釋 |
| PlanarConfiguration: 284 (0x011C) | SHORT | 平面配置,祗适用於RGB圖像
1:Chunky塊狀-順序連續存儲RGBRGBRGB(默認) 2: Planar平面-色域獨立存儲RRR..GGG..BBB |
| Software: 305 (0x0131) | ASCII | 創建圖像軟體名稱仝版本 |
| SubfileType:255 (0x00FF) | SHORT | 子檔案中資料類型 |
| Threshholding: 263 (0x0107) | SHORT | 灰色轉黑白 |
| T4Options: 292 (0x0124) | LONG | |
| T6Options: 293 (0x0125) | LONG | |
| DocumentName: 269 (0x0010) | ASCII | 檔案名 |
| PageName:285 (0x011D) | ASCII | 掃描圖頁面名 |
| PageNumber: 297 (0x0129) | SHORT | 掃描圖頁面碼 |
| XPosition: 286 (0x011E) | RATIONAL | 影像X位置 |
| YPosition: 287 (0x011F) | RATIONAL | 影像Y位置 |
| Predictor: 317 (0x013D) | SHORT | 預測器一種數學運算-僅用於LZW壓縮
1:編碼前未使用預測方案(默認) 2:水平差分 |
| TileWidth: 322 (0x0142) | SHORT or LONG | 平鋪寬度 |
| TileLength: 323 (0x0143) | SHORT or LONG | 平鋪高度 |
| TileOffsets: 324 (0x0144) | LONG | 平鋪偏移 |
| TileByteCounts: 325 (0x0145) | SHORT or LONG |
| Compression | #259(0x0103) SHORT 壓縮類型 |
| Uncompressed | 1:未壓縮 |
| CCITT1D | 2 |
| Group3Fax | 3 |
| Group4Fax | 4 |
| LZW | 5: LZW冇損壓縮, 默認 |
| JPEG | 6: JPEG有損壓縮, |
| PackBits | 32773: |
| PhotometricInterpretation | 反色顯示 |
| WhiteIsZero | 1 |
| BlackIsZero | 2 |
| RGB | 3 |
| RGBPalette | 4 |
| TransparencyMask | 5 |
| CMYK | 6 |
| YCbCr | 7 |
| CIELab | 8 |
| ResolutionUnit | 解析度單位,計算圖像物理尺碼 |
| Ratio | 1 :縱橫比 |
| Inch | 2:英寸(默認) |
| Centimeter | 3:釐米 |
| NewSubfileType | 子檔案資料類型 |
| ReducedResolution | 0x00000001低解像 |
| MultiPageImage | 0x00000002:多頁影像 |
| TransparencyMask | 0x00000004:透明遮罩 |
| Orientation | 影像相對於行列方向 |
| TopLeft | 1 |
| TopRight | 2 |
| BottomRight | 3 |
| BottomLeft | 4 |
| LeftTop | 5 |
| RightTop | 6 |
| RightBottom | 7 |
| LeftBottom | 8 |
| BitsPerSample | 每粒像素位Bit |
| 4 | 灰階圖像4bit(16色)/調色板圖像4bit(16色) |
| 8 | 灰階圖像8bit(256色)彩色./調色板圖像8bit(256色)彩色. |
| R=8,G=8,B=8 | TIFF-(RGB Images)RGB影像 |
| R=8,G=8,B=8,A=8 | TIFF-(RGBA Images)RGBA影像 |
| PlanarConfiguration | 平面配置,祗适用於RGB圖像 |
| Chunky | 1:塊狀-順序連續存儲RGBRGBRGB(默認) |
| Planar | 2:平面-色域獨立存儲RRR..GGG..BBB |
| Predictor | 預測器一種數學運算-僅用於LZW壓縮 |
| NO | 1:壓縮前未使用預測方案(默認) |
| Horizontaldifferencing | 2:水平差分 |
如果『ByteOrder』係 ‘MM’-0x4D4D『網路字節』, 要轉為『主機字節』. 定義宏指令.
| #define TIFF_NET2HOST_WORD(_VALUE) ( ((_VALUE & 0x00FF) << 8) | ((_VALUE & 0xFF00) >> 8) ) |
| #define TIFF_NET2HOST_DWORD(_VALUE) ( ((_VALUE & 0x000000FF) << 24) | ((_VALUE & 0x0000FF00) << 8) | ((_VALUE & 0x00FF0000) >> 8) | ((_VALUE & 0xFF000000) >> 24) ) |
| #define TIFF_NET2HOST_DWORD64(_VALUE) ( ((_VALUE & 0x00000000000000FF) << 56) | ((_VALUE & 0x000000000000FF00) << 48) | ((_VALUE & 0x0000000000FF0000) << 40) | ((_VALUE & 0x0000000000FF0000) << 32) | ((_VALUE & 0x00000000FF000000) >> 8) | ((_VALUE & 0x000000FF00000000) >> 16) | ((_VALUE & 0x0000FF0000000000) >> 24) | ((_VALUE & 0x00FF000000000000) >> 32) | ((_VALUE & 0xFF00000000000000) >> 40) ) |
定義TIFF結构, 愛蒞保存分析數據.
| typedef struct TIFF_TYP { | |
| WORD ByteOrder; | 字節順序 ‘II’ / ‘MM’ |
| WORD version; | TIFF圖檔版本 |
| DWORD NewSubfileType; | 子檔案中資料類型 |
| DWORD PhotometricInterpretation; | 反色顯示. |
| DWORD Compression; | 1=吾壓縮. |
| DWORD bitCount; | 像素bits:8位,16位,24位,32位 |
| WORD BitsPerSample[4]; | 每粒像素位BitCount,1=1bit(單色);4=4bit(16色);8=8bit(256色); |
| DWORD SamplesPerPixel; | 位圖像素Bytes:2byte,3byte,4byte; |
| DWORD ImageHeight; | 圖像高 |
| DWORD ImageWidth; | 圖像寬 |
| DWORD Orientation; | 影像方向 |
| DWORD ResolutionUnit; | 解析度單位,計算圖像物理尺碼. 1:縱橫比,2英寸(默認),3釐米 |
| TIFF_RATIONAL XResolution; | ImageWidth解析度,X像素解析度,例航拍300m/1000m = molecule/denominator; |
| TIFF_RATIONAL YResolution; | ImageHeight解析度,Y像素解析度,例航拍300m/1000m = molecule/denominator;
|
| DWORD RowsPerStrip; | 圖像條帶(數據)行數(高度),可能最後一條帶除外. |
| PDWORD64 StripOffsets; | 圖像條帶(數據)偏移. |
| PDWORD64 StripByteCounts; | 圖像數據字節量 |
| DWORD64 StripCount; | 條帶數量 |
| DWORD PlanarConfiguration; | 平面配置 |
| char * ExtraSamplesa; | 說明: |
| char * Software; | 創建圖像軟體名稱仝版本 |
| char * DateTime; | 創建日期: |
| DWORD Predictor; | 預測器一種數學運算-僅用於LZW壓縮 |
| TIFF_PALETTEENTRY palette[256]; | 調色板,用於4bit/8bit模式. |
| PBYTE data; | 原始數據 |
| PBYTE buffer; | 圖像 |
| }TIFF, * TIFF_PTR; |
载入TIFF分析標簽
| bool Load_TIFF(TIFF_PTR tiff, PBYTE data, int size){ |
| TIFF_HEAD_PTR head;// 圖檔頭Image File Header(IFH) |
| tiff->data = data;// 原始數據 |
| head = (TIFF_HEAD_PTR)data;// TIFF圖檔頭 |
| if (tiff->ByteOrder != TIFF_LITTLE_ENDIAN && tiff->ByteOrder != TIFF_BIG_ENDIAN)
return false; |
| if (tiff->ByteOrder == TIFF_BIG_ENDIAN)// ‘MM’ 大端字節 網路字節 net
{ // 網路字節 轉 主機字節 head->version = TIFF_NET2HOST_WORD(head->version); head->offset = TIFF_NET2HOST_DWORD(head->offset); } |
| tiff->version = head->version;// TIFF圖檔版本
if (tiff->version == TIFF_VERSION)// TIFF圖檔版本 { TIFF_DIRECTORY_PTR directory; // 目錄 directory = (TIFF_DIRECTORY_PTR)((PBYTE)data + head->offset); Parse_Directory_TIFF(tiff, directory);// 分析數據 } |
|
// 載入8或16,32Bit圖像 if (tiff->bitCount == 16 || tiff->SamplesPerPixel == 2) Load_Grayscale_TIFF(tiff);// 載入數據 else if (tiff->bitCount == 8 || tiff->SamplesPerPixel == 1) Load_Palette_TIFF(tiff);// 載入數據 else if (tiff->bitCount == 24 || tiff->SamplesPerPixel == 3) Load_RGB_TIFF(tiff);// 載入數據 else if (tiff->bitCount == 32 || tiff->SamplesPerPixel == 4) Load_RGBA_TIFF(tiff);// 載入數據 |
| return true;
} |
分析數據
| bool Parse_Directory_TIFF(TIFF_PTR tiff, TIFF_DIRECTORY_PTR directory) { |
| if (tiff->ByteOrder == TIFF_ENDIAN_BIG)// ‘MM’ 大端字節 網路字節 net
directory->count = TIFF_NET2HOST_WORD(directory->count);// 網路字節 轉 主機字節 |
| for (int index = 0; index < directory->count; ++index)
Parse_Enter_TIFF(tiff, &directory->enter_array[index]);// 分析數據 |
| return true;
} |
分析數據
| bool Parse_Enter_TIFF(TIFF_PTR tiff, TIFF_ENTER_PTR enter)
{ |
| if (tiff->ByteOrder == TIFF_ENDIAN_BIG)// ‘MM’ 大端字節 網路字節 net
{// 網路字節 轉 主機字節 enter->tag = TIFF_NET2HOST_WORD(enter->tag);// 標識 enter->type = TIFF_NET2HOST_WORD(enter->type);// 數據類型 1~12 enter->count = TIFF_NET2HOST_DWORD(enter->count);// 數量 enter->data = TIFF_NET2HOST_DWORD(enter->data);// 數據 } |
| if (enter->tag == TIFF_TAG_NewSubfileType)//子檔案中資料類型
tiff->NewSubfileType = enter->data; else |
| if (enter->tag == TIFF_TAG_PhotometricInterpretation)// 反色顯示.
tiff->PhotometricInterpretation = enter->data; else |
| if (enter->tag == TIFF_TAG_Compression)// 壓縮.
tiff->Compression = enter->data; else |
| if (enter->tag == TIFF_TAG_ImageHeight)// 圖像高
tiff->ImageHeight = enter->data; else |
| if (enter->tag == TIFF_TAG_ImageWidth)// 圖像寬
tiff->ImageWidth = enter->data; else |
| if (enter->tag == TIFF_TAG_ResolutionUnit) // 解析度單位,計算圖像物理尺碼 . 1:縱橫比,2英寸(默認),3釐米
tiff->ResolutionUnit = enter->data; else |
| if (enter->tag == TIFF_TAG_XResolution)// ImageWidth解析度,X像素解析度,例航拍300m/1000m
Parse_XResolution_TIFF(tiff, enter); else |
| if (enter->tag == TIFF_TAG_YResolution) // ImageHeight解析度,Y像素解析度,例航拍300m/1000m
Parse_YResolution_TIFF(tiff, enter); else |
| if (enter->tag == TIFF_TAG_Orientation)// 影像相對於行和列方向
tiff->Orientation = enter->data; else |
| if (enter->tag == TIFF_TAG_ColorMap)//調色板偏移, 256色和16色圖像先有調色板
Parse_ColorMap_TIFF(tiff, enter); else |
| if (enter->tag == TIFF_TAG_BitsPerSample)// 每粒像素位BitCount,1=1bit(單色);4=4bit(16色);8=8bit(256色);
Parse_BitsPerSample_TIFF(tiff, enter); else |
| if (enter->tag == TIFF_TAG_SamplesPerPixel)// RGB圖像,每粒像素字節BYTE
tiff->SamplesPerPixel = enter->data; else |
| if (enter->tag == TIFF_TAG_StripOffsets)// 圖像掃描線(數據)偏移.
Parse_StripOffsets_TIFF(tiff, enter); else |
| if (enter->tag == TIFF_TAG_StripByteCounts) //圖像數據字節總量
Parse_StripByteCounts_TIFF(tiff, enter); else |
| if (enter->tag == TIFF_TAG_RowsPerStrip)// 圖像條帶(數據)行數(高度),可能最後一條帶除外.
tiff->RowsPerStrip = enter->data; else |
| if(enter->tag == TIFF_TAG_PlanarConfiguration)// 平面配置,祗适用於RGB圖像
tiff->PlanarConfiguration = enter->data; else |
| if(enter->tag == TIFF_TAG_ExtraSamplesa)// 說明
tiff->ExtraSamplesa = Malloc_ASCII_TIFF((const char*)(tiff->data + enter->offset)); else |
| if (enter->tag == TIFF_TAG_Software) // 創建圖像軟體名稱仝版本
tiff->Software = Malloc_ASCII_TIFF((const char*)(tiff->data + enter->offset)); else |
| if (enter->tag == TIFF_TAG_DateTime)// 創建日期:
tiff->DateTime = Malloc_ASCII_TIFF((const char*)(tiff->data + enter->offset)); else |
| if(enter->tag == TIFF_TAG_Predictor)// 僅用於LZW編碼
tiff->Predictor = enter->data; |
| return true;
} |



前幾日『Windows10專業版』自動升級『Windows11專業版』.發現『SolidWorks2018』授權失效. 記得五六年前仝老細買『Windows10企業版LTSC』, 係網上有2021版, 內含『DVD-ROM』仝『KEY』, 細問係咪:『正版?』,老細話可以官方激活. 問價70紋,順豐快遞到付12, 一共82紋.




『Quectel移遠-RM520N-GL- AA版』壹間上海雜牌廠出,
| RM520N-GL |
| AA RM520NGLAA-M20-SGASA |
AP版祗支持PCIE模式,AA版支持USB仝PCIE模式,下載指南仝驅動要注册賬戶, 激活電郵收吾到,要客服後壹激活. 唯臺驚喜係Lucky2可以上網
『RM520N-GL』有肆引腳, 叁個5G天線, 壹個GPS天線.
| RM520N-GL天線 | 引腳 |
| 5G天線 | ANT0,ANT1,ANT3 |
| GPS天線 | ANT2 |
『RM520N-GL-AA』版本,支持PCIE/USB模式
裝『WWAN』驅動. remove
| opkg install kmod-mhi-wwan-ctrl |
| opkg install kmod-mhi-wwan-mbim |
| opkg install kmod-usb-net-qmi-wwan |
| opkg install kmod-usb-serial-wwan |
| opkg install kmod-wwan |
| opkg install wwan |
| opkg list | grep qmi |
裝『QMI』驅動.
| opkg install kmod-qcom-qmi-helpers |
| opkg install kmod-usb-net-qmi-wwan |
| opkg install libqmi |
| opkg install luci-proto-qmi |
| opkg install qmi-utils |
| opkg install uqmi |
係『Windows』主機cmd命令行執行
| ssh root@openwrt |
root@openwrt’s password: 填密碼.
執行更新安裝包列表
| opkg update |
下載穩定版『OpenWrt 24.10.1』,就係下載『OpenWrt 24.10.0』wifi信號時有時冇,5G模塊冇USB,搞左個大頭佛.
係『Windows』主機cmd命令行執行
| ssh root@openwrt |
root@openwrt’s password: 填密碼.
執行更新安裝包列表
| opkg update |
安装USB驅動
| opkg install kmod-usb2 | |
| opkg install kmod-usb3 | |
| opkg install kmod-usb-acm | |
| opkg install kmod-usb-core | |
| opkg install kmod-usb-net | |
| opkg install kmod-usb-net-qmi-wwan | |
| opkg install kmod-usb-net-cdc-ether | 驅動創建ECM-USB接口 |
| opkg install kmod-usb-net-cdc-ncm | 驅動創建NCM-USB接口 |
| opkg install kmod-usb-net-rndis | 驅動創建RNDIS -USB接口 |
| opkg install kmod-usb-net-cdc-subset | |
| opkg install kmod-usb-ohci | 驅動創建usb接口 |
| opkg install kmod-usb-ohci-pci | |
| opkg install kmod-usb-serial | |
| opkg install kmod-usb-serial-option | 驅動創建ttyUSB*接口 |
| opkg install kmod-usb-serial-wwan | |
| opkg install smstools3 | |
| opkg install minicom | 加入minicom |
安裝usbutils
| opkg update |
| opkg install usbutils |
埶行『lsusb』. 『Quectel RM520M-GL』
| lsusb |
檢測USB模塊装載『Quectel RM520M-GL』
| Bus 002 Device 007: ID 2c7c:0801 Quectel RM520N-GL |
檢測USB驅動装載 『/dev/ttyUSB0』『/dev/ttyUSB1』『/dev/ttyUSB2』『/dev/ttyUSB3』.USB轉串口.
| ls /dev/ttyUSB* |
通過『192.168.2.1』 登錄openwrt後臺.
撳luci ->网络->介面->装置,发现(usb0或者wwan)硬件接口.
撳『新增裝置設定』
『裝置類別』揀『橋接裝置』
『裝置名稱』填『br-wan』
『橋接連接埠』揀『eth0』『usb0』『wwan0』
撳『儲存』
撳『介面』->『wan』->『編輯』
『裝置』揀『br-wan』
%99情况插入sim卡即可上網.
| 上網模式 | 作用 | 備注 |
| 0 | RMNET接口 | 通過QMI工具發QMI命令,獲取公網IP |
| 1 | ECM接口 | 通過標準的CDC-ECM發起data call,是發送標準的ECM命令,獲取局域網ip。 |
| 2 | MBIM接口 | Mobile Broadband Interface Model,正宗的移動寬帶接口模型,專門用於3G/4G/5G模塊的,只在win8以上的windows上使用 |
| 3 | RNDIS接口 | 基於USB實現RNDIS實際上就是TCP/IP over USB,就是在USB設備上跑TCP/IP,讓USB設備看上去像一塊網卡獲取局域網ip |
插入sim卡.
執行更新安裝包列表
| opkg update |
安裝minicom 命令行界面串口終端. 仝COM口設備通信.
| opkg install minicom |
登入配置菜單
| minicom -s |
撳『Serial port setup』填寫COM配置
| COM配置 | |
| Serial Device | /dev/ttyUSB2 |
| Lockfile Location | /var/lock |
| Callin Program | |
| Callout Program | |
| Bps/Par/Bits | 115200 8N1 |
| Hardware Flow Control | Yes |
| Software Flow Control | No |
| RS485 Enable | No |
| RS485 Rts After Send | No |
| RS485 Rx During Tx | No |
| RS485 Terminate Bus | No |
| RS485 Delay Rts Before | 0 |
| RS485 Delay Rts After | 0 |
退出minicom
發下列AT指令.
| AT | 發AT指令. |
| OK | 返回 |
撥號模式『ECM模式』
| AT+QCFG =”usbnet”, 1 | ECM模式 |
| AT+QCFG =”usbnet”, 3 | NCM模式 |
設自動撥號
| AT+QMAPWAC=1 | 設置自動撥號 |
重啟模塊『RM520M』
| AT+CFUN = 1,1 | 重啟模塊『RM520M』 |
查模块IMEI編號
| AT+CGSN? | 查詢IMEI-4G/5G模块唯壹編號 |
| +CGSN: “888888888888888” | 返回 |
查模塊S/N編號
| AT+CFSN | 生產編號S/N |
| +CFSN: “XXXXXXXXXX” | 返回 |
查工作模式
| AT+CFUN? | 查 |
| +CFUN: fun, rst | 返回 |
| fun | 0: 慳電模式/飛行模式
1: 齊整模式 4: 閂射頻信號收發 |
| rst | 0: 設置工模式冇使注銷
1: 設置工模式注銷後重新注册 |
如果工作模式=0,設1, 設為齊整模式, 軟複位.
| AT+CFUN=0 | 飛行模式 |
| AT+CFUN=1 | 軟複位 |
| AT+CFUN=1,1 | 重啟 |
| AT+CFUN=4 | 閂射頻信號收發 |
查模塊固件版本
| AT+CGMR? | 查模塊固件版本 |
| +CGMR: “86600.1000.00.04.02.02” | 返回 |
查sim卡状态
| AT+CPIN? | 係咪插入 |
| +CPIN: READY | 插入SIM卡 |
查APN
| AT+CGDCONT ? | 查APN |
| AT+CGDCONT=CID,TYPE,APN,NSLPI | |
| CID:0~10 | APN |
| AT+CGDCONT=1, “IPV4V6”, 0,0,0 | |
| AT+CGDCONT=1, “IP”, “CMNET”,0,0 | TCP/IP协议-NET接入点 |
| AT+CGDCONT=0, “IP”, “INTERNET”,0,0 | TCP/IP协议-INTERNET接入点 |
| AT+CGDCONT=1,”PPP”,”cmwap” | 点对点协议 wap 接入点 |
查模塊5G信号
| AT+CESQ | 信號指標 |
| +CESQ: 99,99, 255,255, 255,255, 60,46,47 | 5G信號 |
| 99,99, | 2G: 大於0且小於99 |
| 255,255, | 3G: 大於0且小於255 |
| 255,255, | 4G: 大於0且小於255 |
| 60,46,47 | 5G: 大於0且小於255 |
查模塊4G信号
| AT+CSQ? | 查模塊4G信号 |
| +CSQ:rssi,ber | 返回 |
| +CSQ:28,99 | |
| rssi: 信號强度 | 0~33: 信號最强
99: 冇信號 |
| ber: 误码率 | 0/99: 冇誤碼 |
查詢網絡註冊狀態
| AT+CGREG? | 查詢GPRS網絡註冊狀態 |
| AT+CEREG? | 查詢LTE網絡註冊狀態『4G』 |
| AT+CREG? | 查詢冚辦爛網絡註冊狀態 2g/3g/4g |
| +CREG?mode,stat,lac,ci | 返回 |
| +CREG:0,5 | 漫遊 |
| MODE模式 | 0:禁止網絡註冊主動提供結果代碼(默認)
1:允許網絡註冊主動提供結果代碼(+CREG:stat) 2:啟用網絡註冊和位置信息結果碼主動上報(+CREG:STAT,LAC,CI) |
| STAT状态 | 0:未註冊,終端當前未搜尋新營運商
1:已註冊本地網絡 2:未註冊,終端正在搜尋基站 4:未知代碼 5:已註冊,處於漫遊狀態 |
| +CREG: 1,0 | 註冊失敗 |
| +CREG: 1,1 | 註冊成功 |
設置網絡註冊狀態為2.
| AT+CREG=2 | 主動提供結果碼 |
查營運商設置
| AT+COPS? | 設置營運商 |
模塊IP地址, 得到IP講明經已上網
| AT+CGPADDR | 查模塊IP地址 |
| +CGPADDR:10.153.120.21 |
| AT&W | 保存 |
| AT&F | 出廠設定 |
| ATZ | 用戶設定 |
| AT+CFUN=0 | 飛行模式 |
| AT+CFUN=1 | 軟複位 |


仝老細冚臺新電腦,豪華配置,使左皮幾.老細要拎翻屋企用,注册新『microsoft』賬戶. 幾年前買『windows10企業版』畀佢吾見左.系『microsoft』官網下載『windows10企業版』得90日評估.
啟用『windows10』
| C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe |
| irm https://get.activated.win | iex |
指令詳解
| irm | 係invoke-restMethod縮寫,埶行URL下載. |
| https://get.activated.win | URL脚本地埗 |
| | iex | 渠道符號, 脚本交畀iex埶行. |
| [1]HWID-Windows | 啟用Windows |
| [2]Ohook-Office | 啟用Office |
| [3]TSforge-Windows/Office/ESU | 啟用Windows/Office/ESU |
| [4]KMS38-Windows | 啟用Windows至2038 |
| [5]Online-Windows/Office | 啟用Windows/Office |
| [6]Check Activaton Status | 啟用状態. |
| [7]Change Windows Edition | |
| [8]Change Office Edition | |
| [9]Troubleshoot | |
| [E]Extrans | |
| [H]help | 救濟 |
| [0]Exit | 退出 |
『Windows10專業版』仝埋『Office2021專業版』成功啟用.祗係『Windows10企業評估版』係啟用吾到. 衹能啟用『Windows10企業版』, 即係出面買光碟正式版本.



『STEAM』遊戲商鋪, 遊戲玩家集中地. 99%遊戲開發商擺庶賣. 『付款方式』支持『VISA』『MasterCard』『Alipay』『WeChat pay』
首先註冊『STEAM』賬戶. 祗係『網業版』仝『Windows版』註冊.
| Windows版 | SteamSetup.exe |
| Android版 | steam-3.10.0.apk |
| 網業版 | 建立帳戶 |
係android手機, 用GOOGLE PLAY下載『STEAM』. 或者係官網下載『steam-3.10.0.apk』. 以後通過掃QRCODE登錄

Blender-免費3D動畫
上世紀未荷蘭國森仔創立NEOGEO動畫獲得成功, 攬大沙炮創立NaN開發Blender. 冇两年𢴇笠收場.後蒞森仔創立Blender基金,以開源形式令Blender得以生存.
係『Blender』官網『https://www.blender.org/』下載.
| blender-4.3.0-windows-x64.msi |
| blender-4.2.4-windows-x64.msi |
『玩轉Blender-3D動畫角色創作(第3版)』配套資源,可係下面連接下載.下載後重命名『Learning-Blender-Production-Files-3rd-Edition.zip』,用『7-Zip』解壓.
| https://www.dropbox.com/scl/fi/szglgt5ipzt67ymkdysdn/Learning-Blender-Production-Files-3rd-Edition.zip?rlkey=n3m3ledcegp54moimge8nk0sh&dl=1 |
硬片要求

加時電腦腦冇配DVD,機箱冇5.25寸口,取而代之係家用NAS伺服機,16TB容量够存幾千DVD碟.用『FFmpeg』將DVD入面VOB轉MP4. 例
| G:\VIDEO_TS\VTS_01_1.VOB |
| ffmpeg -i G:\VIDEO_TS\VTS_01_1.VOB -c:v libx265 -c:a aac -preset medium -crf 23 D:\OUTPUT.MP4 |
| ffmpeg -i G:\VIDEO_TS\VTS_01_1.VOB -c:v h264_nvenc -c:a aac -preset medium -crf 23 D:\OUTPUT.MP4 |
用上面指令,壓肆條片, 『H.254』畀『H.265』大肆倍.
| H.254 | H.265 | 片長 | |
| 小念頭.MP4 | 660 MB | 119 MB | 46:11 |
| 木人桩.MP4 | 669 MB | 114 MB | 43:44 |
| 尋橋.MP4 | 783 MB | 142 MB | 51:08 |
| 標指.MP4 | 770 MB | 132 MB | 50:23 |
| 参式簡介 | |
| -i | 輸入檔 |
| -c:v | 視頻編碼 |
| -c:a | 音頻編碼 |
| -preset | 编码速度和质量 |
| -crf | 視頻編碼質量 |
| 視頻編碼 -c:v | |
| flv | 速度快,視頻文檔大 |
| vp6 | |
| libx264 | 同等清晰度下,视频文檔細,缺点係转换慢. |
| h264_qsv | Intel-GPU 硬件编码 |
| h264_nvenc | NVIDIA-GPU 硬件编码 |
| h264_amf | AMD-GPU 硬件编码 |
| h264_vaapi | Intel AMD NVIDIA-GPU硬件编码 |
| libx265 | 比264壓缩仲高 |
| 音頻編碼 -c:a | |
| mp3 | 速度快,視頻文檔大 |
| aac | 比MP3音檔細30% |
| 編碼 -preset | 编码速度和质量之间权衡 |
| ultrafast | 編碼速度最快,輸出質量最較低。 |
| superfast | 編碼速度飛快 |
| veryfast | 編碼速度飛快 |
| faster | 編碼速度較快 |
| fast | 編碼速度較快 |
| medium | 默認預設,平衡編碼速度和質量 |
| slow | 編碼速度較慢,輸出質量較高. |
| slower | 編碼速度更慢,輸出質量更高. |
| veryslow | 編碼速度最慢,輸出質量最高. |
| 視頻編碼質量-crf | |
| 0 | 無損壓縮 質量最高 文檔最大 |
| 18 | 視覺無損 質量非常高 文檔大細適中 |
| 23 | 默認值 平衡質量和文檔大細 |
| 51 | 質量最低 文檔最小 |

𢴇行『.sh1』脚本用『PowerShell』.默認执行策略『AllSigned』𢴇行『.sh1』冇反應阻止脚本𢴇行.
改為『RemoteSigned』允許𢴇行『.sh1』脚本.
| C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe |
| get-ExecutionPolicy |
| set-ExecutionPolicy RemoteSigned |
| get-ExecutionPolicy |

本蒞諗住係『truenas』,用虛擬機装『Windows10』做『下載機』.實制未能充份利用CPU同Memory.更好係直接装『Windows10』.摆係角落用WIFI做冇線『下載機』.
配置都係淘汰件.最衰『ITX機箱』密吾透氣, 粒『XEON E5-2630LV3』係幾分鐘內超過壹百度.裝『AVC 9025』疏風.拆com口擋版透氣.裝『AVC 5020』直吹CPU.
| 下載機 | 配置 |
| 火牛 | 臺逵flex-500w |
| CPU | INTEL XEON E5-2630LV3 |
| CPU散熱 | SOCKET2011-纯銅散熱風扇 |
| CPU風扇 | AVC 5020 |
| 底板 | 雜牌X99-ITX |
| 機箱 | 3槽ITX機箱 |
| WIFI | Intel Wi-Fi 7 BE200 |
| Memory | SAMSUNG 32GB DDR4 2400T |
| HDD | SAMSUNG SM961 256GB |
| SSD | SAMSUNG 1000GB |
| 顯卡 | MSI GT710 1G |
| 下載機 | 配置 |
| 火牛 | 臺逵flex-500w |
| CPU | INTEL XEON E5-2630LV3 |
| CPU散熱 | SOCKET2011-纯銅散熱風扇 |
| CPU風扇 | AVC 4020 |
| 底板 | 雜牌X99-ITX |
| 機箱 | 3槽ITX機箱 |
| WIFI | Intel Wi-Fi 7 BE200 |
| Memory | SAMSUNG 32GB DDR4 2400T |
| HDD | SAMSUNG SM961 256GB |
| SSD | SAMSUNG 1000GB |
| 顯卡 | MSI GT710 1G |








係舊時網卡附有『3pin-WOL』插主板,實現『網絡喚醒』, 好彩依時主板附帶網口吾使『3pin-WOL』線. 『網絡喚醒』通過網線發送『喚醒魔術包』將『休眠』『睡眠』『閂機』電腦呌醒, 『閂機』後呌吾醒,可能Windows10電源管理引起.冇線WIFI吾得『網絡喚醒』,有線網卡先得『網絡喚醒』.
係主板BIOS設置『網絡喚醒』
Windows10網卡設置
Windows10電源選項,混合式關機停用 WOL.
Windows10電源選項
Windows10網絡喚醒
| 睡眠(S3) | |
| 休眠(S4) | |
| 關機(S5) |



上世紀末已有電腦摄像頭,一直冇買蒞玩,前排買過中古『Microsoft LifeCam Studio』條線根斷退貨.後蒞睇中Logitech摄像頭『MX BRIO』同『MX BRIO705 for Business』.包装吾同性能冇分别,
『MX BRIO』可用『Logi Options+』『Logitech G HUB』『Logi Tune』設置. 建議用『Logi Tune』.
壹定要插係『USB3.0-TYPE C』吾係吾上4K,『相片品質』『8.3MP 16:9(3840*2160)』, 『影片品質』『2160p 16:9(30fps)』.
插係『USB2.0』『相片品質』得翻『2.1MP 16:9(1920*1080)』,『影片品質』得翻『1080p 16:9(30fps)』.
| Logi Options+ |
| https://download01.logi.com/web/ftp/pub/techsupport/optionsplus/logioptionsplus_installer.exe |
| Logitech G HUB |
| https://download01.logi.com/web/ftp/pub/techsupport/gaming/lghub_installer.exe |
『MX BRIO705 for Business』要用『Logi Tune』.
| Logi Tune |
| https://software.vc.logitech.com/downloads/tune/LogiTuneInstall.exe |




使Windows10作為『網盤』『BT』下載機, 再蒞用『Microsoft 遠端桌面』
遠程控制下載機.
『下載機』開啟遠端桌面
『下載機』設定電源與睡眠

『華南X99-F8D Plus』開機蓝屏『TeeDriverW8x64.sys』, 可禁節能模式『CPU C3/C6』修复,但系冇左『睡眠模式』.諗住試更新BIOS修复.但系雜牌主板『Q-FLASH』冇『BIOS』更新程式.更新『AMI-BIOS』用『AFUDOS.EXE』,係Win10冇DOS啟動磁碟,利用『Rufus』制『MS-DOS』開機磁碟. 同『Etcher』壹樣, 但係『Rufus』內含『MS-DOS』同『FreeDOS』映像.
登入『http://rufus.ie』下載『rufus-4.5.exe』.
| http://rufus.ie |
| https://github.com/pbatard/rufus/releases/download/v4.5/rufus-4.5.exe |

安裝『Stable Diffusion』時未裝『open_clip』. 其實亦係『clip』
| RuntimeError: Couldn’t install open_clip. |
進入『open_clip』
| https://github.com/mlfoundations/open_clip |
或者下載『open_clip』落『C:』碟
| git clone https://github.com/openai/open_clip.git |
下載『open_clip-main.zip』後解壓本地安裝
| https://codeload.github.com/mlfoundations/open_clip/zip/refs/heads/main |
复制『C:\open_clip』到『C:\stable-diffusion-webui\venv\Scripts』
| C:\open_clip | Sour |
| C:\stable-diffusion-webui\venv\Scripts | dest |
進入『命令行模式CMD』
CD去『CLIP』檔䅁夾, 作為本地路徑
| cd C:\stable-diffusion-webui\venv\Scripts\open_clip |
执行下列安裝指令
| C:\stable-diffusion-webui\venv\Scripts\python.exe setup.py build install |
常試通過pip指令安裝
| pip install open_clip_torch |













諗住買3090Ti點知連成萬,孖2080Ti送NVLink先陸千有找.
登入NVIDIA官網下載嘉時至新驅動
| https://www.nvidia.com/Download/index.aspx?lang=en-us |
| 填NVIDIA Driver Downloads | |
| NVIDIA Driver Downloads | 揀 |
| Product Type | GeForce |
| Product Series | GeForce RTX 40 Series |
| Product | GeForce RTX 4090 Ti |
| Operating System | Windows 10 64-bit |
| Download Type | NVIDIA Studio Driver |
撳Search下載驅動
| https://us.download.nvidia.com/Windows/552.22/552.22-desktop-win10-win11-64bit-international-nsd-dch-whql.exe |
新顯卡NVLINK金手指有封膜,撕左插入NVLINK桥即掂.冇使搞BIOS.
下載『NVLinkTestCUDA11』測試NVLINK桥造總線带寛
| https://www.pugetsystems.com/support/guides/how-to-enable-and-test-nvidia-nvlink-on-quadro-and-geforce-rtx-cards-in-windows-10-1266/ |
| https://puget.systems/go/NVLinkTestCUDA11 |
孖『NVIDIA GeForce RTX 2080 Ti』都插係PCIEx16,鋪頭送『GeForce NVLINK』桥造總線带寛得『48.08GB/S』, 可能要『Quadro Nvlink』先有『100GB/S』带寛.



github
gitHub攻略
git系統等於『檔案伺服』外加『版本管理』,
『Linux』安裝git
通過SSH登入
| ssh username@ubuntu |
root@ubuntu’s password: 填密碼. 冇字符顯示, 撳Enter鍵.
安裝git架撑
| sudo apt update |
| sudo apt install git |
| sudo apt update git |
下載『Quectel_MHI』
| sudo git clone https://github.com/ChaingTsung/Quectel_MHI/ |
『OpenWRT』安装『git』從缺小http傳輸支
| git: ‘remote-https’ is not a git command. See ‘git –help’. |
安装『git-http』修复
| sudo apt install git-http |
| sudo apt install curl |
| sudo apt install libcurl4 |
| git –version | 版本號 |
『windows10』下載祗安裝『Git-2.45.0-64-bit.exe』,家時最新2.45.0版.
| Additional icons on the Desktop | 桌面捷徑 |
| Windows Explorer integration Git Bash Here | 右鍵菜單 |
| Windows Explorer integration Git GUI Here | 右鍵菜單 |
| Git LFS (Large File Support) | 支援大檔䅁 |
| Associate .git* configuration files with the default text edito | 配置檔䅁.git關聯edito |
| Associate .sh files to be run with Bash | 關聯.sh檔䅁 |
| Check daily for Git for Windows updates | 日日檢查更新 |
| Add a Git Bash Profile to Windows Terminal | 將Git Bash設定檔新增到Windows終端 |
| Scalar(Git add-on to manage large-scale repositories) | 管理大型儲存庫 |
注册GitHub賬戶
| 賬戶信息 | |
| EMAIL電郵 | 電子郵箱, 用蒞收驗證電郵. |
| Username | 字母+字符 混合, 唯壹未被利用. |
| PASSWORD密碼 | 字母+數字+字符混合 |
下載GitHub卓面版『GitHubDesktopSetup-x64.exe』





『Python』其實係『虛擬機』, 先裝『.py』源碼編譯為字節碼『.pyc』. 『Python虛擬機』再執行『Python字節碼』. 同『java』壹樣.
登入『Python』官網『https://www.python.org/』.
| Documentation | 文檔 |
| Pip | (必揀)下載和管理python包 |
| Tcl/tk and IDLE | 裝IDLE包 |
| Python test suite | 裝測試包 |
| Py launcher For all users(requires admin privileges) | 裝‘py’啟動程式 |
| Install python 3.12 for all users | 冚辦闌帳號裝python程式 |
| Associate files with python(requires the ‘py’ launcher) | 關聯‘py’文檔 |
| Create shortcuts for installed applications | 制作python捷徑檔 |
| Add Python to environment variables | 將Python路徑添加到環境變量 |
| Precompile standard library | 預編譯標準庫 |
| Download debugging symbols | 下載調試符號 |
| Download debug binaries(requires VS 2017 or later) | 下載調試庫 |
| C:\Users\bookc\AppData\Roaming\Python\Python310\ |
| C:\Users\bookc\AppData\Roaming\Python\Python310\Scripts\ |
| C:\Users\bookc\AppData\Roaming\Python\Python310\site-packages\ |
| C:\Program Files\Python310\Scripts\ |
| C:\Program Files\Python310\ |
檢查最新版pip時出錯.
| WARNING:There was an error checking the latest version of pip. |
需手動升級pip至最新版.
| python -m pip install –upgrade pip |
| https://www.python.org/ |
| https://www.python.org/downloads/windows/ |
| https://www.python.org/ftp/python/3.10.6/python-3.10.6-amd64.exe |









買雜牌『B450-ITX』配『RYZEN5-1500X』砌臺ITX,摆係老竇屋企睇片.點知『BE200』WIFI吾認識. 早期版本,篮牙要更新BIOS.
壹年後……
平時冇點用,拎翻蒞諗住插支咪試下,壹插塊主板烧左,前后寄翻去3次,先肯换塊新RGBA版本,前後各壹條m.2磁碟,插4pin小喇叭著機BOOT.
以雜牌蒞講都算好,保养3年,壹年後烧左换新. 祗係記憶體吾兼容,間隙輕機. AID64記憶體測試報錯.舊版本返宜兼容記憶體.唯有降低頻率加大時序.
用『Ryzen DRAM Calculator』睇時序配置.
| 記憶體 | 默認值 | 修定後 |
| MEM FREQUENCY(Mhz) 頻率 | 2400 | 2133 |
| 主時序配置 | ||
| Tcl | 15 | 20 |
| Trcdrd | 15 | 20 |
| Trcdwr | 15 | 20 |
| Trp | 15 | 20 |
| Tras | 35 | 38 |
| 副時序配置 | ||
| Trc | 0 | |
| Trrds | 4 | |
| Trrdl | 6 | |
| Tfaw | 23 | |
| Twtrs | 3 |
休眠喚醒後顯示器黑屏,要撳『power』鍵重啟.BIOS 已UPADAE.『Win10/Linux』皆係.
| B450-ITX | RGBA版 |
| m.2磁碟 | 2 |
| BOOT-4pin | 1 |
| rgba燈 | 2 |
| 4pin風扇 | 2 |
| 3pin風扇 | 2 |
| DEBUG | 1 |



之前係老竇屋企砌臺ITX電腦愛蒞睇片,『BE200』新出買蒞試試, 點知係係『b450-itx』可以認藍牙,唔認WIFI.反而係『x99-itx』藍牙WIFI都認.
唯有『AX210』配『b450-itx』, 『BE200』配『x99-itx』.
下載最新Intel WiFi驅動.

『Android Studio』默認utf8編碼. 而『Visual Studio』按『地區設定』,轉本地字符編碼. 係VC6年代直頭吾直持『utf8』.
要强轉utf8可以係字加『u8』前缀
| char utf8[MAX_CHAR] = u8″abcdef屌㞗𡳞杘屄”; |
加『u8』前缀後,代碼移稙『Android Studio』繁鎖.可以加編譯詣令.
| #pragma execution_character_set(“utf-8”) |
适宜字符寫死係代碼. 若将字符保存係外部文檔,存為utf8即軟代碼.唔使諗編碼.
要强轉unicode係字加『L』前缀.USC2同USC4混埋.
| wchar_t unicode[MAX_CHAR] = L”屌㞗𡳞杘屄”; |

經緯度座標有叄種格式,『度分秒』『度分』『度』.
『度分秒』等於『時分秒』, 『1度=60分=3600秒』『1分=60秒』
| 經緯度座標 | |
| 度分秒DMS | DDD°MM’SS” |
| 度分DM | DDD°MM.MMM’ |
| 度D | DDD.DDDDD° |
| 度分秒 | 轉换 |
| 分轉度 | 除60 |
| 秒轉度 | 除3600 |
| 秒轉分 | 除60 |
| 度轉分 | 度小數乘60 |
| 分轉秒 | 分小數乘60 |
『度分秒』轉『度』
| 例『35°41′37.5″』即係『35度41分37.5秒』 |
| 41分轉度= 41/60 |
| 37.5秒轉度=37.5/3600 |
| 35 + 41/60 + 37.5/3600=35.69375度 |
| void DMS_TO_DD(float D,float M,float S,double * DD)
{ *DD = D + M/60.0f + S/3600.0f; } |
『度分』轉『度』
| 例『35°41.625』即係『35度41.625分』 |
| 41.625分轉度= 41/60 |
| 35 + 41.625/60 =35.69375度 |
| void DM_TO_DD(float D, float M, double* DD)
{ *DD = D + M / 60.0f; // 除60 } |
『度』轉『度分』
| 例『35.6937632°』即係『35度41.625792分』 |
| 『0.6937632°』度轉分 0.6937632*60=41.625792′ |
| 35 + 0.6937632*60=『35°41.625792’』=『35度41.625792分』 |
| void DD_TO_DM(double DD,int * D,float * M)
{ *D = (int)DD; // 度取整 *M = (DD – *D) * 60; // 度小數乘60 } |
『度』轉『度分秒』
| 例『35.6937632°』度即係『35度, 41分, 37.54秒』 |
| 取度小數『0.6937632°』度轉分 0.6937632°*60=41.625792′ |
| 取分小數『0.625792’』分轉秒 0.625792’*60=37.54752″ |
| 35°+ 0.6937632°*60 + 0.625792’*60=『35°41′37.5″』=『35度, 41分, 37.54秒』 |
| void DD_TO_DMS(double DD, float* D, float* M, float* S)
{ float MM; *D = (int)DD; // 度取整 MM = (DD – *D) * 60; // 度小數乘60 *M = (int)MM;// 分 *S = (*M – MM) * 60;// 分小數乘60 } |
| 1日 | 360度 |
| 1度 | 60分=3600秒 |
| 1分 | 60秒 |

係Windows拖拽或者縮放窗口, 會造成窗體閃爍, 啟用象筋拖放, 即係非實時拖放,可避免窗體閃爍.
| 進入像筋拖放 |
| SystemParametersInfo(SPI_SETDRAGFULLWINDOWS, true, &drag_full_windows, NULL); |
| 退出像筋拖放 |
| SystemParametersInfo(SPI_SETDRAGFULLWINDOWS, false, &drag_full_windows, NULL); |
通過監聽『WM_ENTERSIZEMOVE』進入拖拽, 『WM_EXITSIZEMOVE』退出像筋拖拽, 實施像筋象筋拖放
| LRESULT CALLBACK WindowProc(HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam){ |
| if (msg == WM_ENTERSIZEMOVE)
SystemParametersInfo(SPI_SETDRAGFULLWINDOWS, true, &drag_full_windows, NULL);// 進入像筋拖放 else |
| if (msg == WM_EXITSIZEMOVE)
SystemParametersInfo(SPI_SETDRAGFULLWINDOWS, false, &drag_full_windows, NULL);// 退出像筋拖放 |
| return(DefWindowProc(hWnd, msg, wParam, lParam));
} |












WD BLACK AN1500原配两條SN730仲有ARGB燈,有人拆出蒞䶒賣殼.睇中佢自動组建Raid0,讀寫至高達『6500MB/S』,諗住買翻『SN730-1TB』, 睇到『PC300-1TB』特價,仲係『MLC SSD』. 1TB仲係1024GB.
打孖插入『PC300-1TB』自建Raid0. 温度高達65℃. 讀『3800 MB/S』,寫『2194MB/S』. 比『SN730』慢.
| WD BLACK AN1500-Raid0 | PC300 NVMe SK Hynix 1TB*2 |
| CrystalDiskMark讀 | 2800 MB/S |
| CrystalDiskMark寫 | 2194MB/S |
| CrystalDiskInfo | 69℃. |
| MLC SSD | SK Hynix H2702T8C0B3A |
| WD AN1500 | |
| 上行 | 6500MB/S |
| 下行 | 6500MB/S |
| 總線 | PCIe Gen3*4 SSD |




『ZLIB』係開源『壓縮』同『解壓』程式庫, 支持『DEFLATE』冇損壓縮算法,混合『LZ77算法』同『霍夫曼編碼』.
『Visual studio』冇內置『ZLIB』,下載『zlib-1.2.13.tar.gz』再編譯.
| http://www.zlib.net/ |
| http://www.zlib.net/zlib-1.2.13.tar.gz |
| 路徑 | 版本 |
| C:\Program Files (x86)\zlib-1.2.13\build\Debug | Debug |
| C:\Program Files (x86)\zlib-1.2.13\build\Release | Release |
| Debug調試版 | Release發行版 | |
| zlibstaticd.lib | zlibstatic.lib | 静態庫, 唔使dll |
| zlibd.lib | zlib.lib | 動態庫, 要dll |
| zlibd.dll | zlib.dll | 動態連结 |
| C:\Program Files\zlib\include\zconf.h | Zlib-API |
| C:\Program Files\zlib\include\zlib.h |
| #include <zlib.h> | Zlib-api |
| #include <zconf.h> |
| #if _DEBUG | |
| #pragma comment(lib, “..\\ZLIB\\zlibstaticd.lib”)
#else |
|
| #pragma comment(lib, “..\\ZLIB\\zlibstatic.lib”)
#endif |


『CMake』愛蒞生成makefile或project文件, 畀Visual studio編譯代碼.
登入『CMake官網』下載『cmake-3.27.7-windows-x86_64.msi』安装包.
驗証CMake安装
| https://cmake.org/ |
| https://cmake.org/download/ |
| cmake-3.28.0-rc3-windows-x86_64.msi |
| cmake-3.27.7-windows-x86_64.msi |


華南X99-F8D Plus
臺X570冇定時輕機,睇翻佢本天書,要用『1R8/2R8-DDR4』記憶體,買两條32GB成千幾紋,索性買雜牌X99玩,開機慢到以為吾著. 壹分鐘先睇到bios logo
配置如下
雜牌X99-F8D Plus有捌條DDR4槽, 單條支持至高64GB.捌條槽最高512GB.DDR4-64GB依然偏貴.块X99話支持肆通道.買两條用住先.




買左雜牌『X99-F8D PLUS』, 睇岩『E5-2637 V4』支持雙U,頻率至高.『基頻3.5GHZ』畀『E5-1630V4』低200HZ.
用CPU-Z測單線程相若. 多線程跑分接近壹倍. 可能同雙CPU有關.
| INTEL XEON | E5-2637V4 | E5-1630V4 | E5-2630LV3 |
| CPU-Z單線程 | 462.4 | 470.7 | 233.2 |
| CPU-Z多線程 | 4368.2 | 2350.2 | 2136.7 |
| 主頻 | 3.5GHZ | 3.7GHZ | 1.8GHZ |
| 核心 | 4核 | 4核 | 8核 |
| 線程 | 8線程 | 8線程 | 16線程 |
| TDW | 140W | 140W | 55W |

雜牌x99-eatx係登入Win10間謁會Te

eDriverW8x64.sys蓝屏. 心諗雜牌都係信唔過.
『TeeDriverW8x64.sys』係『Intel(R) Management Engine Interface』英特爾®管理引擎介面驅動程式.
『剷TeeDriverW8x64.sys』

『Adobe』同『Google』合作,制作『日月韓漢』矢量字庫,目前支缓65535『日月韓漢』字.以字量蒞睇依然有大量異體字未收納.
1. 官網下載『源界明朝』字庫,
2. 解壓
3. 將『SuperOTC\SourceHanSerif.ttc』复制到『C:\Windows\Fonts』
|
https://github.com/adobe-fonts/source-han-serif/archive/1.001R.zip |
|
https://typekit.com/fonts/source-han-sans-traditional-chinese |





之前臺『Gigabyte-X570 AORUS MASTER』壹直未能投入使用, 决定啟用『x99 ITX-server』配『INTEL XEON E5-1630V4』. 『MSI GT710-1GB』連玩PHOTOSHOP都慢
『NVIDIA Quadro K1200』4GB顯存,配肆個『mini-display』, 配轉HDMI儀.用『GPU-Z』測比『RX550』慢.



『XEON E5-2630LV3』最高功耗140瓦,『QUADRO K6000』最高功耗45瓦,未計WIFI同磁盤,接近200瓦功耗.『mineNAS-ITX機箱』送『同漢250瓦火牛』,冇主板8pin線,要靠4pin轉8pin線,長期高功率輸出,火牛頂唔順.
『益衡FLEX-600瓦』太貴,買『臺達FLEX-500瓦』係其肆份壹.原配主板8pin線,同PCIE-8PIN線.
换火牛後著機唔識認『TOSHIBA XG3 1TB』同『Seagate XM1440 960Gb』,試過藍屏死機.反而『同漢250瓦火牛』係未試過藍屏死機.



自WindowsNT以蒞,Windows冇好似Win9x咁頻繁重装,但係Window11可能新出,自動更新後問題多多, 重装『Window11』 『android studio』浪費大量時間.
Windows11可備份『系統映像』,還原Windows11,好似用GHOST咁.備『磁碟機』比『C:』所用容量大.

Windows11自更新後『剪取工具』神左,『全屏』得, 『視窗』冇返應.發現可將Windows10『剪取工具』移植過蒞Windows11.
首先复制Win10『SnippingTool.exe』『SnippingTool.exe.mui』, 位置如下: 『zh-TW』係默認語言.
| C:\Windows\System32\SnippingTool.exe |
| C:\Windows\System32\zh-TW\SnippingTool.exe.mui |
係Win11粘貼同壹位置
| C:\Windows\System32\SnippingTool.exe |
| C:\Windows\System32\zh-TW\SnippingTool.exe.mui |
再釘選『工作列』『開始』







MLC時代過去,TLC粒, 三年保養, 每日全盤寫入壹次.『SAMSUNG-990 PRO 2TB』特價,標稱謮寫均超柒千兆.驚高熱而跌速,主板自帶散熱装甲熱過辣雞.特登買風扇散熱,高温達『50℃』,實測『讀6584MB』『寫6301MB』.
| SSD | 讀 | 寫 |
| 990 PRO 2TB | 6584 MB/S | 6301 MB/S |











之前Win11更新後頻䌓死機,將條『TOSHIBA XG3-1TB』擺係『x99i』装Win10,時過景遷,諗過買『Micron 7450PRO-960GB』TLC SSD『讀6800MB/S』『寫5600MB/S』略貴.
睇『Seagate XM1440-960Gb』MLC MMD『讀2500MB/S』『寫900MB/S』, 實測『讀2162』『寫576』略慢,買两條組raid1沉餘陣列,叠加讀速.
『Gigabyte X570 AORUS MASTER』支持RAIDXpert2,AMD公司開發RAID技術,廿年前用两块『Western Digital-1TB』組RAID0,壹過保養即神,今次用两條XM1440組raid1因高熱而跌速,得『2280-m.2散熱』搭『2006蝸輪風扇』依然上70℃.
| 讀MB/S | 寫MB/S | |
| RAID0 | ||
| RAID1 | 1420.0 | 584.5 |
| MVME | 2162.83 | 576.39 |
用RAIDXpert2組raid1分伍步,要壹氣呵成.
| 1. 装m.2-SSD |
| 2. 設置sata模式 |
| 3. 設置raid模式 |
| 4. 将win11時載入AMD RAID-9.3.0.158驅動. |
| 5. 重构磁盤陣列. |
装m.2-SSD
| 1. 斷電 |
| 2. 插入两條『Seagate XM1440-960Gb』 |
設置sata模式
| 1. 撳『DELETE鍵』登入BIOS. |
| 2. 撳『Settings』->『IO Ports』->『SATA Configuration』 |
| 3. 『SATA Mode』設為『RAID』 |
| 4. 『NVMe RAID Mode』設為『Enabled』 |
| 5. 撳『Boot』 |
| 6. 『CSM Support』設為『Enabled』,禁CSM兼容支持 |
| 7. 撳F10儲存後重啟. |
刪除RAID模式
| 1. 撳『Settings』->『IO Ports』->『RAIDXpert2 Configuration Utility』->『Array Management』. |
| 2. 撳『Delete Array』 |
| 3. 『Confirm』設為『Enabled』 |
| 4. 15秒後撳『YES』, 刪除RAID. |
設置raid模式
| 5. 撳『Settings』->『IO Ports』->『RAIDXpert2 Configuration Utility』->『Array Management』. |
| 6. 『Select RAID Level』設為『RAID 1/RAID 0』 |
| 7. 撳『Select Physical Disks』 |
| 8. 『Physical Disk 0:1:0,NVMe Gen3 x4,960.1GB, Ready』設為『Enabled』 |
| 9. 『Physical Disk 1:1:0,NVMe Gen3 x4,960.1GB, Ready』設為『Enabled』 |
| 10. 撳『Apply Changes』 |
| 11. 撳『Create Array』 |
| 12. 撳F10儲存後重啟. |
将win11時載入AMD RAID-9.3.0.158驅動.
| 1. 『AMD RAID-9.3.0.158』存入USB磁碟 |
| 2. 将win11載入驅動程式『X:\AMD RAID Preinstall Driver\Preinstall\NVMe_CC』
3. cpu冇GPU載入『NVME_CC』, 4. cpu有GPU載入『NVMe_DID』 |
| 5. 載入『AMD-RAID Bottom Device』 |
| 6. 載入『AMD-RAID Config Device』 |
| 7. 載入『AMD-RAID Controller[storport]』 |
| 8. 得翻單壹『磁碟機』,唔係刪raid1後重做. |
| 9. 繼續将win11 |
重构磁盤陣列.
| 1. raid1模式RAIDXpert2重构磁盤陣列. |
| 2. |
AMD RAID-9.3.0.158有两版本以CPU分NVME_DID/NVME_CC
| Processor | AMD-RAID |
| AMD 7th Generation A Series Desktop Processors | NVME_CC |
| AMD Ryzen™ 1000 Series Desktop Processors | NVME_CC |
| AMD Ryzen™ 2000 Series Desktop Processors | NVME_CC |
| AMD Ryzen™ 2000 Series Desktop Processors with Radeon™ Graphics | NVME_CC |
| AMD Ryzen™ 3000 Series Desktop Processors with Radeon™ Graphics | NVMe_DID |
| AMD Ryzen™ 3000 Series Desktop Processors | NVME_CC |
| AMD Ryzen™ 4000 Series Desktop Processors with Radeon™ Graphics | NVMe_DID |
| AMD Ryzen™ 5000 Series Desktop Processors with Radeon™ Graphics | NVMe_DID |
| AMD Ryzen™ 5000 Series Desktop Processors | NVME_CC |
| AMD Ryzen™ 4000 Series Mobile Processors with Radeon™ Graphics | NVMe_DID |
| AMD Ryzen™ 5000 Series Mobile Processors with Radeon™ Graphics | NVMe_DID |
| 1st Gen AMD Ryzen™ Threadripper™ Processors | NVME_CC |
| 2nd Gen AMD Ryzen™ Threadripper™ Processors | NVMe_DID |
| 3rd Gen AMD Ryzen™ Threadripper™ Processors | NVMe_DID |



上買『FILCO黑聖手』冇買黑忍者, 睇到『GHERRY-MX3.0S青軸黑忍者』有中古,
底座係鋁版折彎而成,冇倒角,冇塞窿,冇脚撑.
『Win/attr』鍵冇響應,以為神左,撳『Fn+F9』解鎖『Win/attr』.
109鍵比104鍵多左『GHERRY』『CALC』『Prev』『Play』『Next』伍鍵.
『ESC』鍵隔离多左粒『GHERRY』鍵,吾覚意撳錯鍵.
| 鍵 | 指南 |
| GHERRY | 撳住伍秒啟CHERRY-UtilSoft |
| FN+F1 | 静音 |
| FN+F2 | 細聲 |
| FN+F3 | 大聲 |
| FN+F4 | |
| FN+F5 | |
| FN+F6 | |
| FN+F7 | |
| FN+F8 | |
| FN+F9 | 激活WIN/ ATTR鍵 |
| FN+F10 | IE |
| FN+F11 | 等於WIN+E,啟用『檔䅁總管』 |
| FN+F12 | |
| Prev | 焦點,上壹首 |
| Play | 焦點,play/stop |
| Next | 焦點,下壹首 |
| 櫻桃官網 |
| CHERRY UTILITY |
| 指南書 |





中古『CHERRY G80-3000』冇個聽使,心諗整個冇線機械鍵盤,『G80-3000』冇藍牙版,净低『FILCO黒忍者青軸』睇得上眼,得翻『FILCO黑聖手青軸』有貨,等佢特價再買『FILCO红軸黒忍者』,櫻桃MX青軸.
支持『有線』同『冇線』,冇『藍牙』接收端,利用電腦『藍牙』配對鬼咁麻煩.
『有線』連接最簡單
| 1. 『閂藍牙』
2. 插USB線 |
『冇線』-『藍牙』配對
| 1. 插兩粒3號電池
2. 撳右上角『裝置清除』鍵,進入『藍牙匹對』模式. 3. 撳『Ctrl+ALT+FN』鍵, 進入『裝置切换』模式. 4. 撳『1』鍵. Windows11 5. 撳『設定』 6. 撳『藍牙與裝置』->『裝置』 7. 撳『新增裝置』 8. 撳『藍牙-滑鼠,鍵盤,筆,音訊裝置,控制器等等』搜鍵盤 9. 撳『Majestouch Convertible 2』顯示8位pin碼 10. 係鍵盤撳8位pin碼後撳『enter』. 11. 超時或撳錯8位pin碼, 要借助有線鍵盤 12. 『Majestouch Convertible 2』填『12345678』後撳『連線』 13. 係鍵盤撳『12345678』後撳『enter』 |

Win11『收件匣』可收取非outlook以外郵箱, 以Godaddy免費郵箱舉例.
| 電子郵件地址 | name@bookcard.net |
| 使用者名稱 | name |
| 密碼 | Pass |
| 帳戶名稱 | name |
| 使用此名稱傳送你的郵件 | name |
| 內送電子郵件伺服器 | pop.secureserver.net |
| 帳戶類型 | POP3 |
| 外寄(SMTP)電子郵件伺服器 | smtpout.secureserver.net |
| 外寄伺服器需要驗證 | enable |
| 使用相同的使用者名稱與密碼来傅送電子郵件 | enable |
| 內送電子郵件需要SSL | enable |
| 外寄電子郵件需要SSL | enable |






『精準滑鼠』造工壹流,睇到『人體工學滑鼠』冇包装版,配『藍牙』接收頭, 『精準滑鼠』要電腦有藍牙,仲要配對.
配獨立『Win鍵』.左右触鍵偏硬,装『滑鼠和鍵盤中心』冇得設定『DPI』.唯壹好處係『下側鍵』可設為『放大鏡』. 触鍵時靈時吾靈, 打機絕對唔掂.
設得多年買過『微軟滑鼠』配獨立『放大鏡』鍵,超鐘意此功能.
| MouseKeyboardCenter_64bit_CHT_14.41.exe |
| 滑鼠和鍵盤中心下載 |



























買『AMD Ryzen5 5600X』埋搭『Gigabyte X570 AORUS MASTER』紧係裝『Windows11』,買埋『TPM2.0』,『Windows11專業版』內籠得『U盤』同『金鑰』.安裝『WIN/LINUX』啟動两鋪,首啟以U盤啟動,次啟以硬碟啟動.
如果装咗多個硬碟『HDD/SSD』,且装有『WIN/LINUX』,壹定將冇關系統硬碟斷電屏蔽,事因裝『WIN10/WIN11』會改寫引導區.





舊時CPU超頻係主板跳線帽,『Inter Pentium MAX』鎖死倍頻,直接超基頻『66Hmz』超到『92Hmz』.『Inter Pentium-II』『66hMZ』直接跳『100HMZ』, 後蒞『Inter Pentium-III』最高去到『133HMZ』. 要記憶體『sd-ram』支持.『AMD CPU』冇鎖倍頻超.
技嘉主板提供超頻程式『Easy Tune』, 直接係『windows11』超頻稳定後先係BIOS改.
『CPU倍頻』改為『46』,『CPU VCore mode』點認『auto』改為『static』. 『CPU Vcore』電壓 1.2V逐㸃加.『Ryzen5 5600X』超倍頻直上『4.6GHZ』.
『RAM』『頻率』『電壓』. 肆條『2333MHZ』超到『2666MHZ』.
| Easy Tune-Advanced CPU OC | |
| CPU倍頻 | 46 |
| CPU VCore mode | static |
| CPU Vcore | 1.2 |


上次『AMD Ryzen5 1500X』配『MSI B350 GAMING PLUS』冇得玩超頻,好後悔. 依鋪『AMD Ryzen5 5600X』搭『Gigabyte X570 AORUS MASTER』老虎蟹搾幹搾盡.
『AMD Ryzen5 5600X』『B2步進』,唔超電壓『1.2v』壹舉直上『4.6GHZ』. 超『4.8GHz』係傳說,可能係『幽靈』散熱唔夠力. 『幽靈螺旋』支緩『65W-TDP』, 買『幽靈棱鏡』『125W-TDP』再試
『SOCKET-AM4』係時後要淘汰, CPU針脚幼,底座夾唔死.拆幽靈散熱鬆開鑼𢇁後,要左右轉幽靈散熱, 切底同CPU分離,唔係容易將CPU連根撥起,整傷『底座』『針脚』.
『Inter Sockte-2011-3』冚實CPU,且CPU冇針腳,存放唔會撞歪針腳.
| 5600X | CPU-Z Single Thread | CPU-Z Multi Thread | 電壓V |
| 3700HMZ | 512 | 4042.6 | AUTO |
| 4500HMz | 619 | 4920. | Auto |
| 4600HMZ | 632 | 4993.1 | auto |
| 4800HMz | N/A | N/A | N/A |
| AMD Ryzen5 5600X | |
| 散熱 | AMD WRAITH COOLERS SPIRE |
| TDP | 65W |
| 核芯速度Core Speed | 3600 HMz |
| 電壓Core Voltage | 1.2v |
| 基頻Bus Speed | 100HMz |
| 倍頻Multplier | 37 |
| 核芯Cores | 6核 |
| 線程Threads | 12 |
| 步進Stepping | 2 |


『APP Center』更新技嘉驅動同程式,唔使上技嘉官網睇,自動下載并更新.唔使學似『Windows update』更新後問題多多,又唔知装左邊飯程式.比『MSI Live Update6』好用.
撳右上角齿輪, 禁著機自啟拖慢『Windows11』.

技嘉『System Information Viewer』畀你係Windos11調風扇轉速, 平衡風噪同温度.
撳『Smart Fan 5 Auto』有肆級風扇調速,『Quiet/寂靜』『Standard/正常』『Performance/性能』『Full Speed/全速』

『Office2021 professional plus』增强專業版,冇光碟冇U盤, 齋密鈅『PRODUCT-KEY』. 用『OfficeSetup.exe』自動係網絡下載,若冇網,網速慢.
下載『ProPlus2021Retail.img』鏡像, 後寫入U盤.





自Windows11强制装『TPM2.0』,主板啟用『AMD fTPM/Intel PTT』軟件模拟TPM,實制行起蒞隙下窒下.
『TPM2.0』芯片皆出自『Infineon』厰,『Gigiabyte-X570 AORUS MASTER』係『LPC-12PIN』.而非『LPC-20PIN』通用三大厰『asus/gigiabyte/supermicro』.
| 以『Gigiabyte-X570 AORUS MASTER』為例: |
| 1. 『TPM』插座係主板底部, 插入『Gigiabyte LPC 12-PIN』
2. 著機撳『del』鍵,登入『bios』. 3. 撳『F2』鍵. 『Advanced mode』 4. 撳『Settings』->『Miscellaneous』 5. 禁用『AMD CPU fTPM』『Disabled』. 6. 撳『Settings』->『Miscellaneous』->『Trusted Computing2.0』 7. 使能『Security Device Support』『Enabled』 8. 撳『SAVE & EXIT』登出『bios』. |
撳『win+r』填啟『tpm.msc』, 登入TPM管理.睇到廠商IFX.



INTEL_XEON_E5_1630V4
買『E5-2630LV3』諗住整冇風扇散熱.『x99-itx』重裝『Win10』後,睇蒞買粒高主頻CPU『E5-1630V4』,主頻高達『3.7GHZ』,單線程跑分高壹倍,多線程跑分相約.其實本蒞住買『E5-1630V3』55蚊,睇到『E5-1630V4』100蚊, 果斷出千. 『CPU-Z』單線程跑分快壹倍.
換CPU後要重裝『Intel晶片組裝置軟體』『SetupChipset.exe』
| INTEL XEON | E5-1630V4 | E5-2630LV3 |
| CPU-Z單線程 | 470.7 | 233.2 |
| CPU-Z多線程 | 2350.2 | 2136.7 |
| 主頻 | 3.7GHZ | 1.8GHZ |
| 核心 | 4核 | 8核 |
| 線程 | 8線程 | 16線程 |
| TDW | 140W | 55W |
等遲D買半高圖形卡T400/WX4100, 再買『SM961-1GB』.

SANWA人體工學滑鼠做特價,黑色磨沙貪佢够的骰,够輕吾似『Microsoft Surface Precision Mouse』咁重手.買咗有線版冇咁靈活,下次買藍牙版.




『MSI B350 GAMING PLUS』升bios後著唔到機,買中古『Gigabyte-X570 AORUS MASTER』因質量要退貨,諗起有部备用『x99-itx』.
重装『Win10』後填『產品金鑰』,啟用Windows報 (0x80072F8F) 錯誤碼,諗翻早先Microsoft以CD-KEY綁定主板,而非綁帳號.咁呃喫换主板要再買授權.好彩後蒞Microsoft改CD-KEY綁帳號.
| 1. 撳『設定』->『更新與安全性』->『啟用』
2. 撳『疑難排解』 3. 撳『啟用』 4. 撳『我最近已變更此裝置的硬體』 5. Microsoft 帳戶勾『這是我目前使用的裝置』 6. 撳『啟用』 |
若多人登入冇法連線伺服器,等壹两日後再試.



Windows10-硬體保留記憶體
Win10又得壹半記憶體可用,肆條DDR4記憶體4X16GB=64GB冚辦闌識別, 係 Win10『硬體保留32.1GB』.之前試過重載BIOS默認值修復,今次唔使得,後蒞發現有條DDR4神左,玩五年歪艇,雜牌記憶體買吾過.
『系統』睇『已安装記憶體(RAM) 64GB(31.9GB)』
| 撳 Win+PAHK鍵,『系統』->『關於』 |
『記憶體』睇『硬體保留32.1GB』
| 1. 撳 『CTRL+ALT+DEL』鍵 2. 撳『工作管理員』 3. 撳『效能』->『記憶體』 |
『系統資訊』睇『總共實體記憶體』得31.9 GB
| 撳『Win+R』填『msinfo32』
『系統資訊』->『系統摘要』 |
| C:\Windows\System32\msinfo32.exe |
| 已安裝的實體記憶體 (RAM) 64.0 GB
總共實體記憶體 31.9 GB 可用實體記憶體 27.8 GB 虛擬記憶體總計 36.7 GB 可用虛擬記憶體 31.1 GB |


有『CPU-Z』自然有『GPU-Z』,但唔係出自同壹間公司. 『CPU-Z』可以睇圖形卡簡略信息, 詳細参數要靠『GPU-Z』. 最重要佢係綠色單壹『.EXE』,可部署係U盘啟動.
| https://www.techpowerup.com/gpuz/ |
| https://www.techpowerup.com/download/techpowerup-gpu-z/ |


『Geek3D FurMark』配埋『GPU-Z』圖形卡渲染壓力測試,睇GPU温度.
『NVDIA QUADRO K6000』涡輪風扇散熱行『3840*1200』,FPS有50幀,係80度左右.
| https://www.geeks3d.com/furmark/ |
| https://geeks3d.com/downloads/2023p/FurMark_1.33.0.0_Setup.exe |




為左玩AI繪畫,諗住買NVIDIA圖形卡,中古『RTX2080Ti』都1599蚊.『QUADRO K6000』12GB記憶體.啱啱特價1075.以打機幀FPS肯定争得遠.
『PerformanceTest』2D跑分508, 3D跑分6865.失望.
涡輪風扇散熱行『Geeks3D FurMark』係80度左右.
| NVIDIA圖形驅動程式 | |
| 1. 登入https://www.nvidia.com/Download/index.aspx?lang=en-us | |
| 2. 填NVIDIA Driver Downloads | |
| NVIDIA Driver Downloads | 揀 |
| Product Type | NVIDIA RTX/Quadro |
| Product Series | Quadro Series |
| Product | Quadro K6000 |
| Operating System | Windows 10 64-bit |
| Download Type | Production Branch/Studio |
| 3. 撳Search | |
| 474.14-quadro-rtx-desktop-notebook-win10-win11-64bit-international-dch-whql.exe | |
NVIDIA圖形驅動程式





新買『NVDIA QUADRO K6000』圖形卡同『RX550』比快幾多. 『PerformanceTest』分開測『2D/3D』性能, 分别跑『DirectX』『OpenGL』.
『K6000』推出時日早,2D跑分『RX550』仲快, 3D跑分『K6000』快唔够壹倍. 失望.
| 2D | 3D | |
| RX550 | 551 | 3641 |
| K6000 | 508 | 6865 |
『PerformanceTest』部署係U盘啟動,綠色盤冇需係目标機安装.
| File->Install PerformanceTest to USB driver or an optical disk |
| https://www.passmark.com/products/performancetest/index.php |
| https://www.passmark.com/downloads/petst.exe |

粒『AMD Ryzen5 1500X』冇鎖倍頻,係『msi b350』倍頻鎖死超唔到. 著『Game Boost』後由3600超到3700.
AMD推出『Ryzen Master』程式,畀你係Windows調倍頻,調CPU電壓,禁停核心.『Ryzen5 1500X』倍頻38,電壓1.3v穩定係3800.
倍頻唔係BIOS調,而係進入Win後調.會增加Windows附擔.
| https://www.amd.com/zh-hant/technologies/ryzen-master |
| https://download.amd.com/Desktop/AMD-Ryzen-Master.exe |

CPU_Z
CPU-Z
諗起係『Win98』愛『CPU-Z』加埋『Superπ』蒞玩超頻. 多年前買『AMD Ryzen5 1500X』配『msi b350』, 倍頻鎖死超唔到. 著『Game Boost』由3600超到3700.
『AMD Ryzen Master』倍頻38,電壓1.3v穩定係3800,『CPU-Z』跑分增加高過主頻增速.
| Ryzen5 1500X | CPU電壓 | 單核 | 多核 |
| 3691.19MHz | 1.2375v | 369.9 | 2099.3 |
| 3790.95MHz | 1.25v | 397.5 | 2214.8 |
『CPU-Z』最新2.04版, 有安將版同綠色版
| https://www.cpuid.com/softwares/cpu-z.html |




臺Canon-MF746Cx移遠幾米,䋂長條USB線,影印傳送產生錯誤碼ERROR CODE-852. 唔通要買加長USB線.
MF746Cx支援有線同冇線連接網絡. 作獨立影印機存在, 冇需依附電脑.




TureNAS-內建支援FTP,即使出到街也可係『手機』同『NAS』傳蒞傳去.
| ftp://username:password@truenas/ |
Windows10
Android
『Windows features』開啟或關閉Windows功能,愛蒞集中『著』『閂』『装』windowns服務,包括大名鼎鼎『.NET Framework 3.5』
『Windows features』匿埋得超鬼鼠,仆匿匿改名呌『OptionalFeatures.exe』
| 1. 撳『Win+R』執行搜索 |
| 2. 開啟『C:\Windows\System32\OptionalFeatures.exe』 |
或者撳
| 1. 撳『Win+E』執行『檔案總管』 |
| 2. 撳『控制台/Control Panel』 |
| 3. 撳『程式集/Programs and Features』 |
| 4. 撳『開啟或關閉Windows功能/Turn Windows features on or off』 |



之前買『USB3.0前置面版』用咗底板壹個USB3.0,兩個USB2.0兼冇外置供電,
改買8口USB2.0前置面版, 佔用底板壹個USB3.0,分拆兩個USB2.0後, 再用兩粒『GL3510』再拆分成捌個USB2.0.
SATA外置叉電,電流依然唔夠,SM-T320仲係叉唔入.


之前買『軟驅前置USB3.0』『壹USB3.0』分拆『肆USB3.0』, 要SATA供輸電. 而『Smart Fingerprint Reader指紋鎖』成日失效.
諗住買冇輸電冇分拆壹對壹輸出, 係网睇中前置光驅『肆USB2.0』『两USB3.0』合『陸USB』, 睇漏咗條USB3.0直接捍死係面版, 係『USB2.0』PCB直接改装, 用CrystalDiskMark測『讀』每秒106MB慢一倍. 『寫』每秒41MB快5成, 早知唔買.
| DTKN/32GB | 『讀』Read MB/s | 『寫』Write MB/s |
| 軟驅前置USB3.0 | 196.7 MB/s | 26.3 MB/s |
| 壹對壹輸出 | 106.4 MB/s | 41.36 MB/s |
| PIN | 輸出 |
| USB2.0-9PIN | 两USB2.0 |
| USB3.0-19PIN | 两USB3.0 |





Broadcom博通BCM94360CD射頻芯片,苹果機經典肆天線冇線網卡,三條WIFI天線,壹條藍牙天線.
装miniPCIe轉PCIe,『轉接卡』可係『x64/x86』電腦上運作.『轉接卡』自帶『蓝牙USB插口』.USB線連底板『9PIN-USB』.
『轉接卡』冇配鑼絲,屏敝罩要焊接.
係Win10需手動裝驅動
| BCM94360CD.zip |
| 型號 | BCM94360CD |
| 接口 | mini PCI-E |
| 技術 | 802.11A/B/G/N/AC |
| 2.4G | 450Mbps |
| 5G | 1300Mbps |
| 蓝牙 | BT 4.0 |
| 系统 | Win7/Win8/Win10/MAC OS |








AX210冇線網卡支援叁頻段『2.4G/5G/6G』.mini PCI-E插口, 直接插係PCI-E槽, 要用『蓝牙5.2』仲要買轉接卡, 帶『蓝牙USB插口』.USB線連底板『9PIN-USB』.配两支GTAC5300-13DB SMA天線
係『MSI AMD B350』插『PCIe 2.0 x1』識認藍牙,冇識WIFI.可能係AMD兼容造成,退貨. 事後諗翻應試下插『PCIe 2.0 x16』.
|
型號 |
AX210NGW |
|
接口 |
mini PCI-E |
|
技術 |
802.11A/B/G/N/AC/AX |
|
2.4G |
574Mbps |
|
5G |
2400Mbps |
|
6G |
2400Mbps |
|
蓝牙 |
BT 5.2 |
|
MU-MIMO |
Multi-User Multiple-Input Multiple-Output |
|
系统 |
Win10/Win11/Linux5.1/Chrome OS |





Logitech-G402冇拉拉神鬼咗, 『有線』G502 特價果斷購入.比G402多咗配重.
冇內置電芯, 落咗肆粒3.6g配重.『4*3.6g=14.4g』.比『Microsoft Surface Precision Mouse 精準滑鼠』輕, DPI設5000定位更精准, 最高25600-DPI.
撳滾輪制變切換平滑捲動.两側防滑設計手感更佳. 将『Microsoft Surface Precision Mouse 精準滑鼠』收埋入槓.
設定滑鼠需裝Logitech G HUB.
| Logitech G HUB |
| 『槓』音近『籠』, 『樟木槓』『衫槓』 |






Logitech-G402冇拉拉神鬼咗, Microsoft Surface Precision Mouse水貨特價. 果斷購入.
支援『有線』同『藍牙』連線, 冇裝WIFI冇藍牙, 變為『有線』滑鼠兼叉電, 內置電芯比G402要重,事因內置電芯,唔使學G502装配重.撳滾輪制變切換平滑捲動.
装『滑鼠和鍵盤中心』設定『DPI』為3200
| MouseKeyboardCenter_64bit_CHT_14.41.exe |
| 滑鼠和鍵盤中心下載 |

PotPlayer剪片頭片尾,又快又靚.要係傾謁偈程式傳送,檔案格式須『.mp4』唔系播唔到.『編碼』揀『OpenCodeUnity64.dll』慳肆分壹磁盤25%.
| C:\Users\name\AppData\Roaming\PotPlayerMini64\Capture |


視力唔得文檔編輯耗神. Windows10 『放大鏡』可帮到你.
設定『放大鏡』
用『鍵盤』開啟『開啟放大鏡』
| 開啟放大鏡 | 撳鍵盤 |
| 放大/開啟 | 『Win』 + 『+』 |
| 缩細 | 『Win』 + 『-』 |
| 閂 | 『Win』 + 『ESC』 |
『放大鏡』
| 變更放大鏡檢視 | 撳鍵盤 |
| 冚螢幕 | 『CTRL』+『ALT』+『F』 |
| 停駐 | 『CTRL』+『ALT』+『D』 |
| 透鏡 | 『CTRL』+『ALT』+『L』 |
| 循環檢視 | 『CTRL』+『ALT』+『M』 |
| 暫停 | 『CTRL』+『ALT』+『SPACE』 |
係多年前『Microsoft 無線霸雷鯊7000滑鼠』 有單獨『放大鏡』專用鍵. 『Logitech G402滑鼠』有伍個專用鍵,通過『Logitech G HUB』設定『巨集』係滑鼠開啟『放大鏡』.
| 鍵 | 巨集類型 | 巨集 |
| 『Win』 + 『+』 | 無重復 | zoom + 放大 |
| 『Win』 + 『-』 | 無重復 | Zoom -缩細 |






事因重裝Win10,係網買Office2021,外包装係英文版, 內襱得張『PRODUCT KEY』卡, 要上『office.com』下載漢文版




近排臺『Win10』頻頻死機, 係時後重裝, 『Win11』己發佈, 考慮到新系統唔穏定多問題, 而耗『記憶體』, 雖然有64GB『記憶體』, 都係裝翻『Win10』穩陳.
係網購『Win10 Pro』『盒裝』,含『USB快閃磁碟機』同『Windows10專業版產品金鑰』.
裝Windows10專業版-USB版
| 撳DEL登入電腦BIOS, 設為USB引. |
| 撳F11選『UEFI:SMI USB DISK 1100 Partition 1』 |
你必須登入才能發表留言。