www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 智能硬件 > 智能硬件
[導(dǎo)讀]摘 要 該文介紹了三維立體畫的原理和制作 方法 ,并給出了用C語(yǔ)言編寫的源程序。借助于Pbrush.exe,讀者可以自己設(shè)計(jì)和欣賞各式各樣的三維立體畫。目前 ,市面上正在流行各式各樣的立體畫,其特點(diǎn)是從外表來(lái)看與一般的圖

摘 要 該文介紹了三維立體畫的原理和制作 方法 ,并給出了用C語(yǔ)言編寫的源程序。借助于Pbrush.exe,讀者可以自己設(shè)計(jì)和欣賞各式各樣的三維立體畫。

目前 ,市面上正在流行各式各樣的立體畫,其特點(diǎn)是從外表來(lái)看與一般的圖案很相似,但是雙眼緊盯著注視片刻后,一恍惚之間眼前便出現(xiàn)了畫中畫——立體像。筆者第一次看到這種畫便被發(fā)明者的創(chuàng)意所傾倒。利用眾所皆知的雙眼視差原理,竟能在一張平面紙上制造出如此奇幻。但是立體畫本身除了其發(fā)明者的靈感和畫面創(chuàng)作者的別出心裁之外,其原理上并無(wú)神秘之處。用 計(jì)算 機(jī)程序來(lái)實(shí)現(xiàn)它,可說(shuō)是易如反掌。筆者用一個(gè)晚上時(shí)間,便在微機(jī)上用BASIC語(yǔ)言實(shí)現(xiàn)了簡(jiǎn)單形體——平面圓餅的立體畫。當(dāng)然,要使該程序具有完善的功能,提高其制作速度,還是應(yīng)該用編譯語(yǔ)言(如C語(yǔ)言)來(lái)編寫。本文中給出的源程序借助于Windows中的.BMP圖形文件,可使大家自己制作任意形態(tài)的立體畫。

一、立體畫的原理

看過(guò)立體電影的人都知道,當(dāng)人的雙眼分別接收不同視角拍攝的圖像時(shí)便會(huì)產(chǎn)生立體感。這是由于人眼長(zhǎng)期觀察的習(xí)慣造成的。和立體電影原理相同的立體攝影風(fēng)景照片也很早就已出現(xiàn)。圖1中給出了這種立體照片的示意圖。左、右照片分別是人的雙眼角度上觀察一棱錐體時(shí)左右眼看到的圖像(圖2)。左眼看到的是棱錐的頂端向右錯(cuò)動(dòng)了一些的圖像,右眼的看到則是棱錐的頂端向左錯(cuò)動(dòng)了一些的圖像。如果用一張硬卡片隔開兩張照片(如圖3),@@09A04000.GIF;圖1@@

@@09A04001.GIF;圖2@@

@@09A04002.GIF;圖3雙眼分別看兩張畫,會(huì)看到一個(gè)立體的棱錐體。這種立體照片的觀察方法在測(cè)繪學(xué)中也早已采用。

但是,目前的三維立體畫在形式上與這些很不相同。它是怎樣在同一張畫面上呈現(xiàn)立體的呢?首先, 分析 一下人們是怎樣從這些立體畫中看出“立體形體”的。從前面所說(shuō)的可以知道,人眼要得到立體感,雙眼必須有視差,即雙眼看到的圖像應(yīng)該有差異。人們?cè)诳戳Ⅲw畫時(shí),都有“恍惚”一下的過(guò)程。在這過(guò)程中,雙眼的視中心發(fā)生了錯(cuò)動(dòng)(如圖4)。這樣@@09A04003.GIF;圖4左眼看到的是畫面的“偏左像”,右眼看到的是畫面的“偏右像”。@@只要“偏左像”和“偏右像”的 內(nèi)容 相當(dāng)于圖1的左、右照片,雙眼就會(huì)感到立體形體。那么,能否把圖1的左、右照片分別當(dāng)做“偏左像”和“偏右像”,簡(jiǎn)單重疊來(lái)得到立體畫呢?

顯然不行。能夠合成立體畫的“偏左像”和“偏右像”是要滿足一定條件的。

如果圖5中表現(xiàn)的棱錐體的表面上有圖案的話,

@@09A04004.GIF;圖5像素a和像素a#39;應(yīng)該具有相同的顏色,因?yàn)樗鼈兪菑牟煌暯怯^察的@@同一個(gè)實(shí)體點(diǎn)。像素b和像素b#39;、像素c和像素c#39;的情況與此相同。把兩幅畫分別當(dāng)作“偏左圖”和“偏右圖”,部分重疊成為同一畫面時(shí),在新的畫面上這種關(guān)系仍應(yīng)該表現(xiàn)為a=a#39;,b=b#39;,c=c#39;(如圖6)。但這時(shí)應(yīng)該注意到,在這張合成

@@09A04005.GIF;圖6畫面上,點(diǎn)a#39;既是“偏右圖”上的點(diǎn)a#39;,又是“偏左圖”上的點(diǎn)b。而@@一張畫面上相同坐標(biāo)點(diǎn)的像素只可能是一種顏色,因此,產(chǎn)生了新的像素關(guān)系a#39;=b。另外,點(diǎn)a既是“偏左圖”上的點(diǎn)a,又是“偏右圖”上的點(diǎn)c#39;,所以,a=c#39;。以此類推,點(diǎn)b#39;和點(diǎn)c也有類似的情況。因此出現(xiàn)了新的關(guān)系表示式,...#39;=c=c#39;=a=a#39;=b=b#39;=...。這就構(gòu)成了立體畫面上像素必須要滿足的條件:“等顏色像素鏈”。立體畫上的所有點(diǎn)都從屬于某一條“等顏色像素鏈”。這就是所有立體畫圖案都呈現(xiàn)出某種程度上的水平周期性的原因。

因此,對(duì)于任意立體形狀,只要構(gòu)造出相應(yīng)的這種“等像素鏈”,并按其 規(guī)律 充填圖案即可得到立體畫。但是正如前面所述,由于這種“等像素鏈”條件的約束,人們雖然可以隨意構(gòu)造出各種形體的立體畫,但其立體形體的表面圖案是不能完全隨人意愿的。

二、制作立體畫的計(jì)算機(jī)程序

由于人的雙眼的水平性,以上的“等像素鏈”只按水平方向分布,與垂直方向無(wú)關(guān)。因此,在程序中,各個(gè)像素行的處理過(guò)程是相互獨(dú)立的。制作立體畫的程序主結(jié)構(gòu)圖如圖7。

@@09A04006.GIF;圖7 制作立體畫的程序主結(jié)構(gòu)圖在以上結(jié)構(gòu)圖中,關(guān)鍵是如何建立“等@@像素鏈”。具體的處理如下。對(duì)于立體形體上的每一個(gè)點(diǎn),首先求出該點(diǎn)在“偏左圖”和“偏右圖”上的坐標(biāo)。以圖1中的棱錐頂點(diǎn)為例,實(shí)際上其X坐標(biāo)是在中心點(diǎn),但由于雙眼的位置并不在其正上方,頂點(diǎn)在“偏左圖”上向右位移,在“偏右圖”上向左位移,而且其位移值的大小顯然與其高度有關(guān),即該點(diǎn)坐標(biāo)越高位移值就越大。a,b,c等點(diǎn)也都有這些位移。在求出一個(gè)點(diǎn)在“偏左圖”和“偏右圖”上的坐標(biāo)后,再算出在合成圖(如圖6)上的對(duì)應(yīng)坐標(biāo)

,以建立“等像素”關(guān)系,如a=a#39;。當(dāng)立體形體的一個(gè)水平剖面上的全部點(diǎn)經(jīng)過(guò)以上處理后,合成圖的各條“等像素鏈”關(guān)系也就 自然 形成了。

另外,由于有可能出現(xiàn)高點(diǎn)遮蓋低點(diǎn)的情況,“等像素鏈”的構(gòu)造應(yīng)該從低點(diǎn)到高點(diǎn)逐層進(jìn)行,高點(diǎn)的“等像素”關(guān)系將替代低點(diǎn)的“等像素”關(guān)系。這也是程序主結(jié)構(gòu)圖中“首先,對(duì)于沒(méi)有任何形體存在的背景平面構(gòu)造‘等像素鏈’”的原因。

下面給出了根據(jù)以上結(jié)構(gòu)圖用C語(yǔ)言編寫的源程序。程序中,每一個(gè)坐標(biāo)點(diǎn)對(duì)應(yīng)一個(gè)結(jié)構(gòu)型數(shù)據(jù),它包含“前像素”、“后像素”兩個(gè)指針。“前像素”指針指向該坐標(biāo)點(diǎn)作為“偏右圖”上的一點(diǎn),在“偏左圖”所對(duì)應(yīng)的點(diǎn)的坐標(biāo)。“后像素”指針指向該坐標(biāo)點(diǎn)作為“偏左圖”上的一點(diǎn),在“偏右圖”所對(duì)應(yīng)的點(diǎn)的坐標(biāo)。程序中,“立體形體水平剖面的高低坐標(biāo)數(shù)據(jù)”、“原始圖案素材”和輸出的“立體畫”的文件格式都是采用了Windows3.1 的Pbrush產(chǎn)生的BMP圖形文件格式。圖幅大小要求都是640×400,用16種顏色方式。其中,立體形體上各點(diǎn)的高低坐標(biāo)用圖形文件中的顏色值表示,因此該圖形文件的圖形與帶顏色的等高線圖安全相同。通常情況下,在16色的BMP文件中顏色值從小到大的順序?yàn)?黑色、暗紅色、暗綠色、暗黃色、暗藍(lán)色、暗紫色、暗青色、暗灰色、灰色、明紅色、明綠色、明黃色、明藍(lán)色、明紫色、明青色、白色。本程序采用最簡(jiǎn)單的“圖案充填”方案,即各條“鏈”上的像素點(diǎn)皆采用該“鏈”上的第一個(gè)像素的顏色。程序中的常數(shù)EYE-SPACE表示“偏左圖”和“偏右圖”之間的偏差,BO-DOT是表明“鏈”的首或尾的指針標(biāo)志。

該程序寄生在Windows 3.1中的Pbrush軟件上。借助于它來(lái)構(gòu)筑立體形體(即立體形體水平剖面高低坐標(biāo)數(shù)據(jù)文件圖8),設(shè)計(jì)原始圖案(圖9)。程序運(yùn)行后,逐行輸入并處理以上兩個(gè)文件中的圖形,然后輸出立體畫結(jié)果文件(圖10)。最后,用Pbrush來(lái)觀賞立體畫result.bmp。當(dāng)然,要設(shè)計(jì)出令人賞心悅目的立體畫,必須在立體形體和圖案素材的選擇和搭配上做到天衣無(wú)縫,獨(dú)具匠心。

@@09A04007.GIF;圖8@@

@@09A04008.GIF;圖9@@

@@09A04009.GIF;圖10程序清單@@

/*--from 1995.4.19--to 1995.5.18----*/include<stdio.h>

#define COMPRESSION 0

#define SIZE-OF-BITMAPFILEHEADER 14

#define SIZE-OF-BITMAPINFOHEADER 40

#define SIZE-OF-RGBQUAD 4

#define PIXEL-DATE-OFFSET 14+40+4*16

/*SIZE-OF-BITMAPFILEHEADER+SIZE-OF-BITMAPINFOHEADER+BITS-PER-PIXEL

*NUM-COLOR*/

#define NUM-COLOR 16

#define NUM-LINE 400

#define WIDTH 640

#define BITS-PER-PIXEL 4

#define PIXEL-PER-BYTE 2 /*8/BITS-PER-PIXEL*/

#define BYTE-PER-LINE 320 /*((WIDTH*BITS-PER-PIXEL-1)/32+1)*4 */

#define NO-DOT WIDTH+1

#define EYE-SPACE 128

struct{

unsignde char color ;

unsigned int pri-x ;

unsigned int nxt-x ;

}dot[WIDTH];

main()

{

struct tagBITMAPFILEHEADER{

unsigned char bfType1,bfType2; /* always equal to#39;BM#39;*/

unsigned long int bfSize; /*size of file */

unsigned int bfReserved1,bfReserved2; /* set to zero */

unsiged long int bfoffits; /*byte offset from BITMAPFILEHEADER to bitmap p

ixel

data in the file */

}BITMAPFILEHEADER;

struct tagBITMAPINFOHEADER{

unsigned long int biSize,/* size of BITMAPINFOHEADER */

biWidth;/* width in pixels biHeight;/* height in pixels */

unsigned int biPlanes, /* always 1 */

biBitCount; /* color bits per pixel must be 1,4,8 or 24 */

unsigned long int biCompression, /*BI-RGB,BI-RLE 8 or 4*/

biSizeImage, /*total bytes in image */

biXPelsPerMeter,/* 0,or opt,h res. */

biYPelsPerMeter,/* 0,or opt,h res. */

biClrUsed, /* normally 0,can set a lower no. colors than biBitCount */

biClrImportant; /* normally 0 */

}BITMAPINFOHEADER;

struct tagRGBQUAD{

unsigned char rgbBlue, /* blue intensity,0-255 */

rgbGreen, /* green intensity,0-255 */

rgbRed, /* red intensity,0-255 */

rgbReserved; /* reserved,set to Zero */

}RGBQUAD[NUM-COLOR];

char *fn-layer="layer.bmp";

char *fn-org="origin.bmp";

char *fn-result="result.bmp";

FILE *flayer,*fOrigin, *fResult;

unsigned char tmp-byte1,tmp-byte2;

unsigned int line,i-byte,i-pixel,x;

unsigned int layer;

int left-x,right-x;tmp-x;

unsigned long int cur-offset;

unsigned char h[WIDTH],org-color[WIDTH];

puts("---WINTRICK---");

puts("---by Li Jisong ---");

if( (fLayer=fopen(fn-layer,"rb") )!=NULL) {

fread(&BITMAPFILEHEADER,SIZE-OF-BITMAPFILEHADER,1,fLayer);

fread(&BITMAPINFOHEADER,SIZE-OF-BITMAPINFOHEADER,1,fLayer);

if( BITMAPFILEHEADER.bfType1==#39;B#39; && BITMAPFILEHEADER.bfType2==#39;M#39;

&& BITMAPINFOHEADER.biWidth==WIDTH && BITMAPINFOHEADER.biHeight==NUM-

LINE

&& BITMAPINFOHEADER.biBitCount==BITS-PER-PIXEL

&& BITMAPINFOHEADER.biCompression==COMPRESSION)

fread(RGBQUAD,SIZE-OF-RGBQUAD,NUM-COLOR,fLayer);

else{

fclose(fLayer);

printf("File %s is not fit for this program! ",fn-layer);

getch();

exit(1);

}

}

else{

printf("File %s does not exist! ",fn-layer);

getch();

exit(2);

}

if( (fOrigin=fopen(fn-org,"rb"))!=NULL) {

fread(& BITMAPFILEHEADER,SIZE-OF-BITMAPFILEHEADER,1,fOrigin);

fread(& BITMAPINFOHEADER,SIZE-OF-BITMAPINFOHEADER,1,fOrigin);

if( BITMAPFILEHEADER.bfType1==#39;B#39; && BITMAPFILEHEADER.bfType2==#39;M#39;

&& BITMAPINFOHEADER.biWidth==WIDTH && BITMAPINFOHDADER.biHeight==NUM-LINE

&& BITMAPINFOHEADER.biBitCount==BITS-PER-PIXEL

&& BITMAPINFOHEADER.biCompression==COMPRESSION)

fread(RGBQUAD,SIZE-OF-RGBQUAD,NUM-COLOR,fOrigin);

else {

fclose(fOrigin);

printf("File %s is not fit for this program! ",fn-org);

getch();

exit(3);

}

}

else {

printf("File %s does not exist! ",fn-org);

getch();

exit(4);

}

if( (fResult=fopen(fn-result,"wb"))!=NULL){

fwrite(&BITMAPFILEHEADER,SIZE-OF-BITMAPFILEHEADER,1,fResult);

fwrite(& BITMAPINFOHIADER,SIZE-OF-BITMAPINFOHEADER,1,fResult);

fwrite(RGBQUAD,SIZE-OF-RGBQUAD,NUM-COLOR,fResult);

}

else {

printf("File %s open error! ",fn-result);

getch();

exit(5);

}

for(line=0;line<NUM-LINE;line++){

printf("line=%d ",line);

cur-offset=(unsigned long int)PIXEL-DATA-OFFSET+(unsigned long int)BYTE-

PER-LINE*line;

fseek (fLayer,cur-offset,SEEK-SET);

fseek (fOrigin,cur-offset,SEEK-SET);

for(i-byte=0;i-byte<BYTE-PER-LINE;i-byte++) {

fread(&tmp-byte1,1,1,fLayer);

fread(&tmp-byte2,1,1,fOrigin);

for(i-pixel=0;i-pixel<PIXEL-PER-BYTE;i-pixel++) {

x=i-byte*PIXEL-PER-BYTE+i-pixel;

if(x<WIDTH) {

h[x]=(unsigned char) (tmp-byte1<<(BITS-PER-PIXEL*i-pixel)

) /((unsigned char)0x80>>(BITS-PER-PIXEL-1));

org-color[x]=(unsigned char) (tmp-byte2<<(BITS-PER-PIXEL*i-pixel))

/((unsigned char)0x80>>(BITS-PER-PIXEL-1));

}

}}

for(x=0;x<WIDTH;x++) {

dot[x].color=0;

dot[x].nxt-x=NO-DOT;

dot[x].pri-x=NO-DOT;

if((x+EYE-SPACE)<WIDTH) dot[x].nxt-x=x+EYE-SPACE;

if((signed)x-EYE-SPACE)>=0)dot[x].pri-x=x-EYE-SPACE;

}

for(layer=1;layer<NUM-COLOR;layer++)

for(x=0;x<WIDTH;x++) {

left-x=x-EYE-SPACE/2+(layer/2);

right-x=x+EYE-SPACE/2-((layer+1)/2);

if((h[x]==layer)&&(left-x>=0)&&(rignt-x<WIDTH)) {

if (dot[left-x].nxt-x!=NO-DOT) dot[dot[left-x].nxt-x].pri-x=NO

-DOT;

dot[left-x].nxt-x=right-x;

if (dot[right-x].pri-x!=NO-DOT) dot[dot[right-x].nxt-x].nxt-x=

NO-DOT;

dot[right-x].pri-x=left-x;

}

}

for(x=0;x<WIDTH;x++) {

if(dot[x].pri-x==NO-DOT) {

dot[x].color=org-color[x];

tmp-x=x;

while( dot[tmp-x].nxt-x!=NO-DOT) {

tmp-x=dot[tmp-x].nxt-x;

dot[tmp-x].color=org-color[x];

}

}

}

fseek(fResult,cur-offset,SEEK-SET);

for(i-byte=0;i-byte<BYTE-PER-LINE;i-byte++) {

tmp-bytel=0;

for(i-pixel=0;i-pixel<PIXEL-PER-BYTE;i-pixel++) {

x=i-byte*PIXEL-PER-BYTE+i-pixel;

if(x<WIDTH)

tmp-byte1=(unsigned char) (tmp-byte1<<(BITS-PER-PIXEL*i

-pixel)) +dot[x].color;

}

fwirte(&tmp-byte1,1,1,fResult);

}

}

fclose(fLayer);fclose(fOrigin);fclose(fResult);

}

參考 文獻(xiàn)

孫志輝、王萃寒、王茜.實(shí)用Windows 3.1詳解.北京: 電子 工業(yè) 出版社,1994.

更多計(jì)算機(jī)與外設(shè)信息請(qǐng)關(guān)注21ic計(jì)算機(jī)與外設(shè)頻道

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

今天,我們來(lái)聊一道常見(jiàn)的考題,也出現(xiàn)在騰訊面試的三面環(huán)節(jié),非常有意思。具體的題目如下:文件中有40億個(gè)QQ號(hào)碼,請(qǐng)?jiān)O(shè)計(jì)算法對(duì)QQ號(hào)碼去重,相同的QQ號(hào)碼僅保留一個(gè),內(nèi)存限制1G.這個(gè)題目的意思應(yīng)該很清楚了,比較直白。為了...

關(guān)鍵字: 騰訊 BITMAP UNSIGNED 內(nèi)存

今天,我們來(lái)聊一道常見(jiàn)的考題,也出現(xiàn)在騰訊面試的三面環(huán)節(jié),非常有意思。具體的題目如下:文件中有40億個(gè)QQ號(hào)碼,請(qǐng)?jiān)O(shè)計(jì)算法對(duì)QQ號(hào)碼去重,相同的QQ號(hào)碼僅保留一個(gè),內(nèi)存限制1G.?這個(gè)題目的意思應(yīng)該很清楚了,比較直白。為...

關(guān)鍵字: BITMAP UNSIGNED 內(nèi)存 騰訊

近日,據(jù)外媒報(bào)道,谷歌新一代原生安卓旗艦Pixel 4可能將搭載90Hz屏幕! 外媒據(jù)內(nèi)部可靠消息稱,Pixel 4系列將分為Pixel 4與Pixel 4 XL兩款機(jī)型,背部左上角均搭

關(guān)鍵字: PIXEL 90HZ GB 安卓

繼先前Google自行公布下一款手機(jī)產(chǎn)品名稱就是Pixel 4,同時(shí)也確認(rèn)將搭載更精準(zhǔn)的臉部識(shí)別,以及以Soli技術(shù)打造的隔空手勢(shì)操作功能后,再有消息指稱此次預(yù)計(jì)推出新機(jī)將會(huì)采用畫面更新率達(dá)90

關(guān)鍵字: PIXEL GOOGLE DISPLAY SNAPDRAGON

谷歌新機(jī)Pixel 4被曝光。其可以說(shuō)是谷歌潛心研發(fā)數(shù)年的手勢(shì)操控技術(shù) Soli的應(yīng)用實(shí)機(jī)了,將帶來(lái)手機(jī)界的新革命。在Google官方剛剛公布了Pixel 4系列手機(jī)的宣傳視頻中,向我們展示了P

關(guān)鍵字: 手機(jī) PIXEL 攝像頭 傳感技術(shù)

提到真無(wú)線藍(lán)牙耳機(jī),蘋果AirPods無(wú)疑是其中的佼佼者,不過(guò)近兩年,不少品牌也開始推出具有競(jìng)爭(zhēng)力的產(chǎn)品來(lái)挑戰(zhàn)它。谷歌最近發(fā)布了第二代Pixel Buds耳機(jī),新的谷歌Pixel Buds能否挑戰(zhàn)蘋果

關(guān)鍵字: 無(wú)線耳機(jī) PIXEL BUDS AIRPODS

據(jù)西班牙《世界報(bào)》網(wǎng)站報(bào)道,在有關(guān)攝像頭、屏幕、尺寸、連接性和設(shè)計(jì)的諸多手機(jī)新元素中,人們也許會(huì)錯(cuò)過(guò)新款三星蓋樂(lè)世Note 10手機(jī)的一個(gè)細(xì)節(jié):可以用手寫筆S-Pen體驗(yàn)多種功能。報(bào)道稱,S-P

關(guān)鍵字: 智能手機(jī) 三星 PEN PIXEL

谷歌在推特上發(fā)布了一段簡(jiǎn)短的視頻,展示了用戶如何通過(guò)手勢(shì)控制手機(jī),而無(wú)需觸屏。該公司還在博客文章中解釋了該功能是如何工作的。 據(jù)外媒報(bào)道,谷歌預(yù)計(jì)將在今年秋天的某個(gè)時(shí)候發(fā)布Pixel 4

關(guān)鍵字: 手機(jī) PIXEL MOTION SENSE

在有關(guān)攝像頭、屏幕、尺寸、連接性和設(shè)計(jì)的諸多手機(jī)新元素中,人們也許會(huì)錯(cuò)過(guò)新款三星蓋樂(lè)世Note 10手機(jī)的一個(gè)細(xì)節(jié):可以用手寫筆S-Pen體驗(yàn)多種功能。報(bào)道稱,S-Pen就像是一根魔杖。為了讓它

關(guān)鍵字: 智能手機(jī) 三星 PEN PIXEL

繼去年10月15日谷歌推出了包括Pixel 4和Pixel 4 XL兩個(gè)版本在內(nèi)的新一代Pixel 4系列旗艦后,這段時(shí)間以來(lái)陸續(xù)有關(guān)于一款被稱為Pixel 4a的新機(jī)的爆料傳出?,F(xiàn)在有最新消息,近日

關(guān)鍵字: PIXEL GEEKBENCH GB 6G
關(guān)閉