想研究一下skia的原始碼,為之後的處理打基礎。
如是嘗試在win32下搭建乙個skia的最小開發環境。
軟體前提:
1 vs2008
2 已有chromium可執行的win32工程
因為已有chromium可執行的win32工程,其實主要工作就是將skia從chromium大工程裡面拎出來。
操作步驟如下:
1 將src/skia目錄拷貝到自己的工程目錄。
2 將skia依賴的src/base,src/build目錄拷貝到自己的工程目錄。
3 將thirdparty下的skia原始碼,zlib,libpng拷貝到工程目錄。
4 工程目錄下建立test工程(win32控制台工程),依賴skia.
5 進入skia目錄,開啟skia.sln解決方案,開始編譯。
編譯中涉及的修改:
1 skia/config/skuserconfig.h中,加入#define sk_enable_libpng,支援png編碼器。
2 skia/ext/google_logging.cc中,去除以下內容,避免鏈結不過。
//logging::logmessage(file, line,
// fatal ? logging::log_fatal : logging::log_info).stream()
// << msg;
3 third_party\zlib\zconf.h中,去掉#include "mozzconf.h",避免重新命名後鏈結不通過。
4 third_party\skia\include\core\sktypes.h中,如果報#include 無法找到,
直接新增#define sk_ignore_stdint_dot_h。
5 去掉libpng工程中的png_user_config定義,不需要向webkit_png_xx函式名的轉定義。
6 如果報libcmd和libmsvxx庫衝突,忽略掉libcmd。
測試**參考網路流傳的台灣人寫的文章。
**大致如下:
1 new bitmap, 獲取記憶體。
2 基於bitmap, new canvas。
3 new painter。
4 基於painter,在canvas上畫圖。
5 將bitmap存入乙個png。
成功執行後,會在工程的test目錄下,生成乙個snapshot.png。如下所示
STM32 ucLinux環境搭建
uclinux用到的資源 1 usblib安裝 configure disable udev make sudo make install 2 open ocd 安裝 sudo apt get install libtool autoconf automake texinfo configure p...
LinkGUI Air E32 搭建開發環境
編譯是在ubuntu系統裡進行的,需要先安裝ubuntu作業系統,可以整機安裝,也可以選擇用vmware虛擬器進行安裝。本文例子所選用vmware workstation的版本為15,ubuntu系統的版本為ubuntu 18.04 desktop amd64.iso 2 安裝samba及ssh 進...
ESP32環境搭建
1,按照虛擬機器vm 3,按照對應的虛擬機器 環境 1,esp需要的編譯環境 gcc,g 版本是5.2 2,crosstool ng是1.22.0 一,按照git指令 sudo add apt repository ppa git core ppasudo apt get updatesudo ap...