手機WIFI影印程式Mopria Paint

手機WIFI影印程式Mopria Paint 手機WIFI影印程式Mopria Paint 手機WIFI影印程式Mopria Paint近日台Canon影印機MF746Cx條USB過機線斷左.其實現在Canon已支持網絡影印.無需再透過電腦影印.

Canon影印機設定WIFI

  1. 『首頁』->『功能表』->『參數選擇』->『網絡』
  2. 設定『網絡』要填寫ID與PIN碼,默認7654321
系統管理器ID: 7654321
系統管理器PIN: 7654321
  1. 『網絡』->『無線區域網絡設定』->『SSID設定』->『選擇存取點』
  2. 選擇WIFI后撳『下一步』
  3. 鍵入『密碼』撳『套用』
  4. WIFI自動連線

 

裝Mopria Paint影印程式

  1. android手機裝Mopria Paint
  2. 『手機』與『影印機』需連同一WIFI網絡.勿手機連4G網絡而『影印機』連5G網絡.否則 Mopria Paint穩唔到『影印機』
  3. WI-FI顯示Canon MF745C/746C

 

Mopria Paint支持三種影印方法

  1. 撳『影印機』『更多』『分享』
  2. 撳『影印機』或『Mopria Print』自動跳入『Mopria Paint』
  3. 影印設定
影印機 Canon MF745C/746C
份數 1
紙張大小 ISO A4
色彩 黑色/彩色
方向 縱向/橫向
雙面 無/長邊/短邊
  1. 撳『影印機』圖示影印.

Android掌機HANDHELD GAME STATION設置WIFI

Android掌機HANDHELD GAME STATION設置WIFI Android掌機HANDHELD GAME STATION設置WIFI新購買Android掌機需連接其自帶『游戲商店』下載游戲.在此之前需要連接WIFI.

  1. 長按HOME鍵進入『系統設置』
  2. 『掌機設定』->『Wi-Fi』按A鍵進入
  3. 『Wi-Fi狀態』按左右鍵『開啓』
  4. 『鏈接Wi-Fi網絡』按A鍵進入
  5. 按上下鍵選擇按A將連接.
  6. 輸入密碼登入網絡
  7. 按D鍵登出.

Android掌機HANDHELD GAME  STATION

Android掌機HANDHELD GAME STATION Android掌機HANDHELD GAME STATION Android掌機HANDHELD GAME STATION Android掌機HANDHELD GAME STATION Android掌機HANDHELD GAME STATION Android掌機HANDHELD GAME STATION Android掌機HANDHELD GAME STATION Android掌機HANDHELD GAME STATION

HANDHEL_GAME_STATION

Android掌機HANDHELD GAME STATION

多年前曾買過部PSP.後借給一女仔後再無返過我手.無意中在網絡睇到Android游戲掌機HANDHELD GAME STATION.可能太多人購買.2019年12月29號落單,直到2020年1月2號先發貨,順豐隔日送達.通過Android模擬器支持掌機游戲.但居然『無法安裝』PSP游戲.可能是類別錯誤設爲PPSSPP有関.只能等『游戲商店』更新修復.

您無法安裝此游戲,因爲此游戲不支持您的設備

通過USB接口充電但無送USB叉機.且邊玩邊叉電較慢.且按鍵好硬.因類雜牌游戲掌機.儅不在生成時其『游戲商店』亦不再營運.强烈建議先將全部游戲下載.

硬件 簡述
CPU 1.3GMHz 四核
GPU MAIL-400
記憶躰 雙通道512MB
TF插卡 128GB-MicroSD
WIFI 2.4G在綫下載游戲與更新系統.未支持5G網絡
電池 鋰電4000mAH
屏幕 3.5英寸IPS高清硬屏
藍牙 4.0無綫手制
HDMI接口 支持
硬體版本 GBX2000_MB_VD
固體版本 GBX2000V1開發版

 

硬件按鍵 簡述
搖杆 街機
方向鍵 焦點切換
HOME鍵 短按退出儅前界面

主界面模式長按進入系統設置.

SELECT鍵 街機投幣
START鍵 開啓游戲
+/-鍵 調節喇叭音量
START鍵+音量鍵 調節屏幕亮度
X鍵 進入游戲商店
A鍵 OK
B鍵 CANCEL
D鍵 退出
電源鍵 長按關機

短按休眠

 

模擬器 簡述
FC 任天堂/紅白機
SFC 超級任天堂
N64 任天堂64
DC  
WS/WSC 萬代
MA/ME  
FBA 街機
PS Play Station游戲無發保存
PSP Play Station Portable『游戲商店』無法下載
MD 世嘉
GBA Game Boy Advance
GB/GBC Game Boy /Game Boy Color
PCE PC Engine

 

 

Android刷機之晶晨燒錄工具USB Burning Tool

Android刷機之晶晨燒錄工具USB Burning Tool
Android刷機之允許計算機關閉這個設備以節約電源
Android刷機之晶晨燒錄工具USB Burning Tool
Android刷機之安裝驅動
Android刷機之晶晨燒錄工具USB Burning Tool

Android系統通病是越用越慢.近日對台『雜牌古董』Android重寫系統,過程尚算順利. 使用『晶晨燒錄工具』USB Burning Tool進行線擦並把其過程記錄

  1. 你需要一台WinXP
  2. 安裝『晶晨燒錄工具』USB Burning Tool此軟件專門用來寫機
  3. 『固件包』壓縮為ZIP文檔.一定要下載相對應機型與板本
  4. 確保USB接口不被其它設備佔用『設備管理器/通用串行總線控制器/USB Root Hub/屬性/電源管理』.取消勾選『允許計算機關閉這個設備以節約電源』禁用.
  5. 對所有『USB Root Hub』重複第三步
  6. 打開『晶晨燒錄工具』USB Burning tool目錄啟動exe
  7. 『文件->導入升級文件』載入『固件包』
  8. 插USB線連接Android與USB線要質量好
  9. 關閉Android系統,按住HOME鍵不放.然後再按Power鍵不放.等待3秒再鬆開HOME鍵與Power鍵.進入Recovery模式
  10. 此時你可能要安裝驅動.指定驅動路徑如:『USB-Burning-tool\AmlogicusbBurningdriver\xp\WorldCup_Device.inf』.只有安裝驅動『USB Burning Tool』才可認到設備
  11. 若已安裝驅動『USB Burning Tool』則會發現設備.點擊『開始』對Android進行升級
  12. 對Android寫入『固件』大約要十分鐘.當進度達100%時升級成功. 點擊『停止』拔出USB線
  13. 若勾選『擦除舊系統後重啟並燒錄』Android會重啟.然後重做第9步.
  14. 若寫入失敗或wait,先按『複位』Reset鍵.若無則跳過.然後從第9步開始重新寫入固件

Android遊戲之跟隨相機

Android遊戲之跟隨相機

『跟隨相機』與『歐拉相機』喂一區別在於屬性設置不同.跟隨相機常將它固定在移動物體上.它需要以下屬性:

3D空間位置position

向上向量.相當於在相機上貼上一個向上箭頭up

視點向量即相機視口朝向目標lookAt

遠裁剪面far

近裁剪面near

『視場』即視口角度fieldOfView

視口縱橫比aspectRatio

再移動相機時你需要分被相機『位置』與『視點』.『跟隨相機』生成代碼:

設定相機視口,寬與高為屏幕分辨率

gl.glViewport(0,0,width,height);

設置相機矩陣,將當前堆棧設為投影矩陣

gl.glMatrixMode(GL10.GL_PROJECTION);

棧頂載入單位矩陣

gl.glLoadIdentity();

設置透視投影矩陣.定義視錐體參數.『視口角度』『視口縱橫比』『遠近裁剪面』

GLU.gluPerspective(gl, fieldOfView, aspectRation, near, far);

將當前堆棧設為模型視圖矩陣

gl.glMatrixMode(GL10.GL_MODELVIEW);

棧頂載入單位矩陣

gl.glLoadIdentity();

生成方位矩陣,好處在於能防止出現弄反位置或角度

GLU.gluLookAt(gl, position.x,position.y,position.z,

lookAt.x, lookAt.y, lookAt.z,

up.x, up.y, up.z);

Android遊戲之第一人稱相機(歐拉相機)

Android遊戲之第一人稱相機(歐拉相機)

歐拉相機即第一稱射擊遊戲中時用相機.你需要定義以下屬性

『視場』即視口角度fieldOfView

視口縱橫比aspectRatio

遠裁剪面far

近裁剪面near

3D空間位置position

繞y軸旋轉角yaw

繞x軸旋轉角pitch.角度值-90~+90度之間.這類似於頭部傾斜角.若超過這角度則造成骨折.

 

設定歐拉相機視口,寬與高為屏幕分辨率

gl.glViewport(0,0,width,height);

設置歐拉相機矩陣.首先將當前堆棧設為投影矩陣

gl.glMatrixMode(GL10.GL_PROJECTION);

棧頂載入單位矩陣

gl.glLoadIdentity();

設置投影矩陣.你需定義要視錐體

GLU.gluPerspective(gl, fieldOfView, aspectRatio, near, far);

設為模型視圖矩陣

gl.glMatrixMode(GL10.GL_MODELVIEW);

棧頂載入單位矩陣

gl.glLoadIdentity();

繞x軸旋轉角度

gl.glRotatef(-pitch,1,0,0);

繞Y軸旋轉角度

gl.glRotatef(-yaw,0,1,0);

移動相機,相機位於原點且鏡頭指向z軸負方向

gl.glTranslatef(-position.x,-position.y,-position.z);

 

獲取相機方向

相機未旋轉時指向z軸負向

float[] inVec = {0,0,-1,1};

float[] outVec = {0,0,0,0};

設置單位矩陣

float[] matrix = {0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0};

Matrix.setIdentityM(matrix,0);

繞x軸俯仰

Matrix.rotateM(matrix, 0, yaw,0,1,0);

繞Y軸旋轉

Matrix.rotateM(matrix, 0, pitch,1,0,0);

將矩陣和向量相乘的單位方向向量

Matrix.multiplyMV(outVec, 0, matrix, 0, inVec, 0);

direcion.set(outVec[0],outVec[1],outVec[2]);

 

 

Android遊戲之紋理鏈Mipmap

Android遊戲之紋理鏈Mipmap

當相機遠離模型時,模型也會變小.其紋理渲染採樣時會顆粒狀失真.解決失真問題關鍵在於讓屏幕中體積較小物體或遠離視點時.使用低分辯率『紋理Texture』圖像.稱值為紋理鏈.首先獲取紋理尺寸.然後創建比小分辨率紋理圖,把分辨率縮小一半.重複這一過程直到分辨率為1.為了在OpenGL ES使用紋理鏈,需要執行以下兩步

  1. 將縮小係數過濾器設置為GL_XXX_MIPMAP_XXX這裡設置為如果不使用MIPMAP.只會使用首個紋理
  2. 通過縮小紋理創建圖鏈.並將圖片上傳提交給OpenGL ES.作為當前圖層.圖層從0開此,0圖層為原始圖層,然後上傳圖層.然後將其寬度與高除以2不斷創建縮小圖層並上傳.回收位圖.直到寬與高等於零.最後一張紋理1*1像素.則退出循環.並且紋理鏈只能綁定單一紋理
  3. 對於3D模形使用紋理鏈mipmap,而在2D材質無需應用
  4. 若啟用mipmap所繪製物較小.性能提升較明顯.因為GPU只需從小圖片中提取紋理元素
  5. 若啟用mipmap紋理鏈會比沒有使用多佔用33%記憶體.但可換來視角效果提升.特別對遠景物體可修正粒狀失真.
  6. mipmap紋理鏈僅對正方形紋理有效.並且僅在OpenGL ES 1.x獲得支持.

 

紋理位圖載入與綁定.在其基礎加入紋理鏈代碼

GL10 gl = GRAPHICS.gl;

生成空的紋理對象,並獲取id

gl.glGenTextures(1, ids,0);

int id = ids[0];

讀取紋理圖

Bitmap  bitmap = BITMAP.Read(file_name);

綁定紋理ID

gl.glBindTexture(GL10.GL_TEXTURE_2D, id);

設置紋理屬性,紋理過濾器,指定縮小倍數過濾器

gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER, GL10.GL_LINEAR_MIPMAP_NEAREST);

指定放大倍數過濾器

gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER, GL10.GL_LINEAR);

獲取紋理寬度與高度

int    width = bitmap.getWidth();

int    height = bitmap.getHeight();

原始圖層索引為0

int level = 0;

while(true) {

上傳紋理

GLUtils.texImage2D(GL10.GL_TEXTURE_2D, level, bitmap, 0);

圖層索引號加一

++level;

計算縮小一半紋理位圖寬與高

int newWidth = bitmap.getWidth()/2;

int newHeight = bitmap.getHeight()/2;

寬與高等於零時跳出循環

if(newWidth == 0)

break;

創建縮小一半紋理位圖

Bitmap  newBitmap = Bitmap.createBitmap(newWidth,newHeight,bitmap.getConfig());

Canvas canvas = new Canvas(newBitmap);

canvas.drawBitmap(bitmap,

new Rect(0,0,bitmap.getWidth(),bitmap.getHeight()),

new Rect(0,0,newWidth,newHeight),

null);

回收位圖資源

bitmap.recycle();

bitmap = newBitmap;

}

取消邦定紋理ID

gl.glBindTexture(GL10.GL_TEXTURE_2D, 0);

回收位圖資源

bitmap.recycle();

 

Android遊戲之射燈

Android遊戲之射燈

射燈是OpenGL ES中燈光中最耗GPU資源燈光.但其3D效果十分逼真.睇上圖.射燈有多個參數需指定.『位置』『照射方向』『照射角度』小於180度、『衰減指數』小於零,若設為0則亮度不衰減,實制『衰減值』與遊戲3D空間尺寸有關.這裡設為0.01.以及三個光照顏色『環境色』『漫反射色』『鏡面反射色』

public class LightSpot {

private float[] ambient  = {1.0f, 1.0f, 1.0f, 1.0f};// 射燈-環境色

private float[] diffuse  = {1.0f, 1.0f, 1.0f, 1.0f};// 射燈-漫反射色

private float[] specular = {0.0f, 0.0f, 0.0f, 1.0f};// 射燈-高光顏色

private float[] position = {0.0f, 3.0f, 0.0f, 1.0f};// 射燈-位置

private float[] direction = {0.0f, -1.0f, 0.0f, 0.0f};// 射燈-方向

private float  cutoff    = 45;// 射燈-角度範圍,缺省為180.0

private float  exponent  = 0.01f;// 衰減指數,缺省為0.0f

int     id = 0;// 光照ID

// 射燈ID 輸入:GL10.GL_LIGHT0至GL10.GL_LIGHT7

LightSpot(int ID){

this.id = ID;

}

//設置射燈方向,轉換為方向向量.最後w分量設0,代表方向

public void setDirection(float x,float y,float z){

direction[0] = x – position[0];

direction[1] = y – position[1];

direction[2] = z – position[2];

direction[3] = 0;

}

// 設定射燈位置.w分量設為1代表位置向量

public void setPosition(float x,float y,float z){

position[0] = x;

position[1] = y;

position[2] = z;

position[3] = 1;

}

// 設定射燈顏色

public void setColor(float r,float g,float b){

ambient[0] = r;

ambient[1] = g;

ambient[2] = b;

ambient[3] = 1;

}

//使能射燈

public void enable(){

GL10 gl = GRAPHICS.gl;

gl.glEnable(id);//使能

gl.glLightfv(id,GL10.GL_AMBIENT, ambient, 0);// 射燈-環境色

gl.glLightfv(id,GL10.GL_DIFFUSE, diffuse, 0);// 射燈-漫反射色

gl.glLightfv(id,GL10.GL_SPECULAR, specular, 0);// 射燈-高光顏色

gl.glLightfv(id,GL10.GL_POSITION, position, 0);// 位置

gl.glLightfv(id,GL10.GL_SPOT_DIRECTION, direction, 0);// 方向

gl.glLightf(id,GL10.GL_SPOT_CUTOFF,cutoff); //  角度範圍

gl.glLightf(id,GL10.GL_SPOT_EXPONENT,exponent);// 衰減指數

}

// 屏蔽射燈

public void disable(){

GL10 gl = GRAPHICS.gl;

gl.glDisable(id);

}

}

Android遊戲之材質

Android遊戲之材質

物體都由特定材質構成.材質決定照射在物體上光返射方式並會改變反射光顏色.材質為多邊形設置材質屬性用於光照計算,它是全域性影響所有繪製多邊形,直到它在次調用.OpenGL ES中需要為每種材質指定『環境色』『漫反射色』『鏡面反射色』RGBA顏色值.此材質吸收光.只有『光源顏色』與『材質顏色』最小值運算(RGB值)得到『反射光顏色』

材質顏色 光源顏色 反射光顏色『最小值運算』
(0,1,0) (1,1,1) (0,1,0)
(0,1,0) (1,0,0) (0,0,0)
(0,0,1) (1,1,1) (0,0,1)

材質類代碼

public class Material {

private float[] ambient  = {1.0f, 1.0f, 1.0f, 1.0f};// 材質-環境色

private float[] diffuse  = {1.0f, 1.0f, 1.0f,  1.0f};// 材質-漫反射色

private float[] specular = {1.0f, 1.0f, 1.0f, 1.0f};// 材質-鏡面顏色

//設置材質環境色

public void setAmbient(float r,float g,float b){

ambient[0]=r;

ambient[1]=g;

ambient[2]=b;

ambient[3]=1;

}

// 設置材質漫反射色

public void setDiffuse(float r,float g,float b){

diffuse[0]=r;

diffuse[1]=g;

diffuse[2]=b;

diffuse[3]=1;

}

// 設置材質鏡面反射色

public void setSpecular(float r,float g,float b){

specular[0]=r;

specular[1]=g;

specular[2]=b;

specular[3]=1;

}

//使能材質

public void enable(){

GL10 gl = GRAPHICS.gl;

gl.glMaterialfv(GL10.GL_FRONT_AND_BACK,GL10.GL_AMBIENT,  ambient, 0);// 環境色

gl.glMaterialfv(GL10.GL_FRONT_AND_BACK,GL10.GL_DIFFUSE,  diffuse, 0);//  漫反射色

gl.glMaterialfv(GL10.GL_FRONT_AND_BACK,GL10.GL_SPECULAR, specular,0);//  鏡面反射色

}

}

Android遊戲之定向光

Android遊戲之定向光

定向光具有方向但沒有位置.首先在3D空間定義一個點,而『方向』表示為該點指向『原點』向量之方向.若在3D空間右則射過來定向光

public class LightDirectional {

private float[] ambient  = {1.0f, 1.0f, 1.0f, 1.0f};// 點光-環境色

private float[] diffuse  = {1.0f, 1.0f, 1.0f, 1.0f};// 點光-漫反射色

private float[] specular = {0.0f, 0.0f, 0.0f, 1.0f};// 點光-高光顏色
private float[] direction = {0, 0, -1, 0};// 定向光-方向

int id = 0;//  燈光ID

構造定向光.燈光id:GL10.GL_LIGHT0至GL10.GL_LIGHT7

public LightDirectional(int ID){

this.id = ID;//  燈光ID

}

設置方向,將位置轉換為方向.將w分量設0,代表方向

public void setDirection(float x,float y,float z){

direction[0] = -x;

direction[1] = -y;

direction[2] = -z;

direction[3] = 0;

}

設置定向光顏色

public void setColor(float r,float g,float b){

ambient[0] = r;

ambient[1] = g;

ambient[2] = b;

ambient[3] = 1;

}

使能設置頂向光顏色環境色、漫反射色、高光顏色、位置.最後一個參數是數組索引

public void enable(){

GL10 gl = GRAPHICS.gl;

gl.glEnable(id);//使能

gl.glLightfv(id,GL10.GL_AMBIENT, ambient, 0);

gl.glLightfv(id,GL10.GL_DIFFUSE, diffuse, 0);

gl.glLightfv(id,GL10.GL_SPECULAR, specular, 0);

gl.glLightfv(id,GL10.GL_POSITION, direction, 0);

}

定向光屏蔽

public void disable(GL10 gl){

gl.glDisable(id);

}

}