當前位置:首頁 » 編程軟體 » 像素腳本代碼

像素腳本代碼

發布時間: 2022-05-21 19:31:14

① 求大神給一段C++編程的代碼,只求能夠讀出BMP圖像像素值就行了。

#include<math.h>
#include<iomanip.h>
#include<stdlib.h>
#include<windows.h>
#include<stdio.h>
#include<stdlib.h>
#include<iostream.h>
#include<fstream.h>

//---------------------------------------------------------------------------------------
//以下該模塊是完成BMP圖像(彩色圖像是24bitRGB各8bit)的像素獲取,並存在文件名為xiang_su_.txt中
unsignedchar*pBmpBuf;//讀入圖像數據的指針

intbmpWidth;//圖像的寬
intbmpHeight;//圖像的高
RGBQUAD*pColorTable;//顏色表指針

intbiBitCount;//圖像類型,每像素位數

//-------------------------------------------------------------------------------------------
//讀圖像的點陣圖數據、寬、高、顏色表及每像素位數等數據進內存,存放在相應的全局變數中
boolreadBmp(char*bmpName)
{
FILE*fp=fopen(bmpName,"rb");//二進制讀方式打開指定的圖像文件

if(fp==0)
return0;

//跳過點陣圖文件頭結構BITMAPFILEHEADER

fseek(fp,sizeof(BITMAPFILEHEADER),0);

//定義點陣圖信息頭結構變數,讀取點陣圖信息頭進內存,存放在變數head中

BITMAPINFOHEADERhead;

fread(&head,sizeof(BITMAPINFOHEADER),1,fp);//獲取圖像寬、高、每像素所佔位數等信息

bmpWidth=head.biWidth;

bmpHeight=head.biHeight;

biBitCount=head.biBitCount;//定義變數,計算圖像每行像素所佔的位元組數(必須是4的倍數)

intlineByte=(bmpWidth*biBitCount/8+3)/4*4;//灰度圖像有顏色表,且顏色表表項為256

if(biBitCount==8)
{

//申請顏色表所需要的空間,讀顏色表進內存

pColorTable=newRGBQUAD[256];

fread(pColorTable,sizeof(RGBQUAD),256,fp);

}

//申請點陣圖數據所需要的空間,讀點陣圖數據進內存

pBmpBuf=newunsignedchar[lineByte*bmpHeight];

fread(pBmpBuf,1,lineByte*bmpHeight,fp);

fclose(fp);//關閉文件

return1;//讀取文件成功
}

//-----------------------------------------------------------------------------------------
//給定一個圖像點陣圖數據、寬、高、顏色表指針及每像素所佔的位數等信息,將其寫到指定文件中
boolsaveBmp(char*bmpName,unsignedchar*imgBuf,intwidth,intheight,intbiBitCount,RGBQUAD*pColorTable)
{

//如果點陣圖數據指針為0,則沒有數據傳入,函數返回

if(!imgBuf)
return0;

//顏色表大小,以位元組為單位,灰度圖像顏色表為1024位元組,彩色圖像顏色表大小為0

intcolorTablesize=0;

if(biBitCount==8)
colorTablesize=1024;

//待存儲圖像數據每行位元組數為4的倍數

intlineByte=(width*biBitCount/8+3)/4*4;

//以二進制寫的方式打開文件

FILE*fp=fopen(bmpName,"wb");

if(fp==0)
return0;

//申請點陣圖文件頭結構變數,填寫文件頭信息

BITMAPFILEHEADERfileHead;

fileHead.bfType=0x4D42;//bmp類型

//bfSize是圖像文件4個組成部分之和

fileHead.bfSize=sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER)+colorTablesize+lineByte*height;

fileHead.bfReserved1=0;

fileHead.bfReserved2=0;

//bfOffBits是圖像文件前3個部分所需空間之和

fileHead.bfOffBits=54+colorTablesize;

//寫文件頭進文件

fwrite(&fileHead,sizeof(BITMAPFILEHEADER),1,fp);

//申請點陣圖信息頭結構變數,填寫信息頭信息

BITMAPINFOHEADERhead;

head.biBitCount=biBitCount;

head.biClrImportant=0;

head.biClrUsed=0;

head.biCompression=0;

head.biHeight=height;

head.biPlanes=1;

head.biSize=40;

head.biSizeImage=lineByte*height;

head.biWidth=width;

head.biXPelsPerMeter=0;

head.biYPelsPerMeter=0;

//寫點陣圖信息頭進內存

fwrite(&head,sizeof(BITMAPINFOHEADER),1,fp);

//如果灰度圖像,有顏色表,寫入文件

if(biBitCount==8)
fwrite(pColorTable,sizeof(RGBQUAD),256,fp);

//寫點陣圖數據進文件

fwrite(imgBuf,height*lineByte,1,fp);

//關閉文件

fclose(fp);

return1;

}

//----------------------------------------------------------------------------------------
//以下為像素的讀取函數
voiddoIt()
{

//讀入指定BMP文件進內存

charreadPath[]="nv.BMP";

readBmp(readPath);

//輸出圖像的信息

cout<<"width="<<bmpWidth<<"height="<<bmpHeight<<"biBitCount="<<biBitCount<<endl;

//循環變數,圖像的坐標

//每行位元組數

intlineByte=(bmpWidth*biBitCount/8+3)/4*4;

//循環變數,針對彩色圖像,遍歷每像素的三個分量

intm=0,n=0,count_xiang_su=0;

//將圖像左下角1/4部分置成黑色

ofstreamoutfile("圖像像素.txt",ios::in|ios::trunc);

if(biBitCount==8)//對於灰度圖像
{
//------------------------------------------------------------------------------------
//以下完成圖像的分割成8*8小單元,並把像素值存儲到指定文本中。由於BMP圖像的像素數據是從
//左下角:由左往右,由上往下逐行掃描的
intL1=0;
inthang=63;
intlie=0;
//intL2=0;
//intfen_ge=8;
for(intfen_ge_hang=0;fen_ge_hang<8;fen_ge_hang++)//64*64矩陣行循環
{
for(intfen_ge_lie=0;fen_ge_lie<8;fen_ge_lie++)//64*64列矩陣循環
{
//--------------------------------------------
for(L1=hang;L1>hang-8;L1--)//8*8矩陣行
{
for(intL2=lie;L2<lie+8;L2++)//8*8矩陣列
{
m=*(pBmpBuf+L1*lineByte+L2);
outfile<<m<<"";
count_xiang_su++;
if(count_xiang_su%8==0)//每8*8矩陣讀入文本文件
{
outfile<<endl;
}
}
}
//---------------------------------------------
hang=63-fen_ge_hang*8;//64*64矩陣行變換
lie+=8;//64*64矩陣列變換
//該一行(64)由8個8*8矩陣的行組成
}
hang-=8;//64*64矩陣的列變換
lie=0;//64*64juzhen
}
}

//doublexiang_su[2048];
//ofstreamoutfile("xiang_su_.txt",ios::in|ios::trunc);
if(!outfile)
{
cout<<"openerror!"<<endl;
exit(1);
}
elseif(biBitCount==24)
{//彩色圖像
for(inti=0;i<bmpHeight;i++)
{
for(intj=0;j<bmpWidth;j++)
{
for(intk=0;k<3;k++)//每像素RGB三個分量分別置0才變成黑色
{
//*(pBmpBuf+i*lineByte+j*3+k)-=40;
m=*(pBmpBuf+i*lineByte+j*3+k);
outfile<<m<<"";
count_xiang_su++;
if(count_xiang_su%8==0)
{
outfile<<endl;
}
//n++;
}
n++;
}


}
cout<<"總的像素個素為:"<<n<<endl;
cout<<"----------------------------------------------------"<<endl;
}

//將圖像數據存檔

charwritePath[]="nvcpy.BMP";//圖片處理後再存儲

saveBmp(writePath,pBmpBuf,bmpWidth,bmpHeight,biBitCount,pColorTable);

//清除緩沖區,pBmpBuf和pColorTable是全局變數,在文件讀入時申請的空間

delete[]pBmpBuf;

if(biBitCount==8)
delete[]pColorTable;
}

voidmain()
{
doIt();
}

② JS腳本像這樣的哪個是解析度,我應該調哪個改變解析度

你做網站時固定了寬高,就不能實現你想要的效果了。最好是用百分比定義。網頁總寬100% 表格寬50%這樣子定義,就可以實現解析度的調節。給你個js的文字提示。你試下。網頁最好做成1024解析度的。寬屏用戶還是比較少的。相對來說。
顯示器檢測代碼[如果對方的解析度不是1024*768就出現提示文字]
[你可以改一下解析度試一下]
====1、將以下代碼加入HEML的<body></body>;之間:
<script language="JavaScript1.2">
<!--
var correctwidth=1024
var correctheight=768
if (screen.width!=correctwidth||screen.height!=correctheight)
document.write("本站最佳解析度: "+correctwidth+"*"+correctheight+". 你當前的解析度是:"+screen.width+"*"+screen.height+"。設置合適的解析度才能取得最佳的顯示效果!")
//-->
</script>

③ 迷你世界有像素生成器嗎

沒有,有模型工作台

④ 迷你世界腳本像素怎麼做,電腦版的

打開QQ,搜索QQ小程序:迷你世界像素畫,點進去,獲取基礎腳本,再點像素畫

望採納!

⑤ VB像素畫代碼。

VERSION 5.00
Begin VB.Form frm_PixelPic
Caption = "像素畫"
ClientHeight = 3885
ClientLeft = 60
ClientTop = 450
ClientWidth = 3810
LinkTopic = "Form1"
ScaleHeight = 3885
ScaleWidth = 3810
StartUpPosition = 3 '窗口預設
Begin VB.PictureBox Pic_Box2
Appearance = 0 'Flat
BackColor = &H80000005&
ForeColor = &H80000008&
Height = 3195
Left = 3375
ScaleHeight = 3165
ScaleWidth = 330
TabIndex = 3
Top = 75
Width = 360
Begin VB.Label Lab_Color
BackColor = &H008080FF&
Height = 225
Index = 0
Left = 0
TabIndex = 4
Top = 0
Width = 255
End
End
Begin VB.PictureBox Pic_Box1
Appearance = 0 'Flat
BackColor = &H80000005&
ForeColor = &H80000008&
Height = 3195
Left = 90
ScaleHeight = 3165
ScaleWidth = 3165
TabIndex = 1
Top = 75
Width = 3195
Begin VB.Label Lab_Pixel
BackColor = &H80000008&
Height = 255
Index = 0
Left = 0
TabIndex = 2
Top = 0
Width = 240
End
End
Begin VB.CommandButton Cmd_Reset
Caption = "重置繪圖區"
Height = 495
Left = 2385
TabIndex = 0
Top = 3345
Width = 1350
End
Begin VB.Label Label1
Caption = "當前顏色"
Height = 180
Left = 1200
TabIndex = 6
Top = 3502
Width = 720
End
Begin VB.Label Lab_ColorNow
BackColor = &H00FF0000&
Height = 300
Left = 1995
TabIndex = 5
Top = 3435
Width = 300
End
End
Attribute VB_Name = "frm_PixelPic"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim ColorNow As Long '當前色
Attribute ColorNow.VB_VarHelpID = -1

Private Sub Cmd_Reset_Click()
For i = 0 To 99
Lab_Pixel(i).BackColor = 0
Next i
End Sub

Private Sub Form_Load()
Dim i As Integer
On Error Resume Next '告警時執行下一條語句,主要是跳過load lab_pixel(0)的錯誤

Randomize '初始化隨機數種子

For i = 0 To 99
Load Lab_Pixel(i) '載入控制項
With Lab_Pixel(i)
.Container = Pic_Box1 '設定容器為pic_box1
.Width = 300 '寬,VB默認以緹為單位,1像素=15緹
.Height = 300 '高
.Left = 15 + (i Mod 10) * 315 '算位置坐標,此坐標相對於容器pic_box1
.Top = 15 + Int(i / 10) * 315
.Caption = "" '清空
.BackColor = 0 '黑色背景
.Visible = True '顯示控制項
End With
Next i

For i = 0 To 9
Load Lab_Color(i)
With Lab_Color(i)
.Container = Pic_Box2
.Width = 300
.Height = 300
.Left = 15
.Top = 15 + i * 315
.Caption = ""
.BackColor = RGB(Int(Rnd * 256), Int(Rnd * 256), Int(Rnd * 256)) '背景色設置為隨機色
'rnd用於產生一個 0<= rnd <1 的浮點數,故 rnd*256 會產生0到255.9999...之間的浮點數,用int函數截取該浮點數的整數部分,得到 0-255 之間的整數
.Visible = True
End With
Next i

Pic_Box1.Width = 3195
Pic_Box1.Height = 3195
Pic_Box2.Width = 360
Pic_Box2.Height = 3195
Lab_ColorNow.BackColor = ColorNow
End Sub

Private Sub Lab_Color_Click(Index As Integer)
ColorNow = Lab_Color(Index).BackColor '取得顏色,顏色事實上是用一個長整數表示
Lab_ColorNow.BackColor = ColorNow '當前色顯示為取得的顏色
End Sub

Private Sub Lab_Pixel_Click(Index As Integer)
Lab_Pixel(Index).BackColor = ColorNow '設置點擊的lab控制項顏色
End Sub

--------------------------------------------
用記事本另存為 frm_PixelPic.frm 即可

⑥ 如何批處理圖片像素

PHOTOSHOP 是有這個功能的,首先你要建立一個動作.從頂部菜單欄打開-選擇動作,打開動作面板
然後新建一個動作,點擊動作面板底部第五個圖片,新建動作名稱隨便輸入,確定.然後開始錄制,然後開始調整你的圖片大小像素,選擇圖像-圖像大小,確定好圖像的高寬,然後確定-最後保存圖片,這里錄制的步驟也就完成了.點擊那個動作面板中的底部的紅色圓圈按鈕旁邊的四方按鈕停止錄制,這里動作就製作完畢.現在就可以開始批處理圖片大小像素了.
然後選擇文件-腳本-文件處理-設置好你要處理的文件(把你所有要處理的圖片文件放在一個文件夾),選擇你處理後的圖片要放的文件位置.下面還需要你選擇你剛剛製作的動作,確定.這樣PS就能自動批處理你的圖片大小像素了.

⑦ MATLAB求像素點個數 求完整代碼。

之前回答過相關的問題(編號1432290413411891419),當時由於疏忽,代碼存在一點小問題,在這里更正。

上一版本的問題在於,調色板雖然除去了黑白二色,圖像數據A仍然是按原調色板索引的。
修改的幾種思路:
1,按新的調色板,對圖像數據進行重新映射,把黑白色映射為相近顏色;
2,在調色板中去掉黑白二色的同時,對統計結果也進行調整;
3,不修改調色板和數據,只在顯示結果時剔除該兩種顏色。
這里採用第2種做法。

其實深究起來,還涉及到一個問題:統計各顏色所佔比例時,總數中是否包括黑色白色?
暫且按照忽略這兩種顏色的方式考慮,這樣各顏色的比例合計為100%,但總像素數量與圖像不符(缺少黑色和白色的像素)。

參考代碼:

%讀入圖像數據並轉換為索引色
X=imread('1.png');
[A,map]=rgb2ind(X,16);

%統計各種顏色的像素數量
s=arrayfun(@(i)sum(A(:)==i),0:length(map)-1);

%過濾黑色和白色
inx=~any(map-repmat([000],length(map),1),2)|...
~any(map-repmat([111],length(map),1),2);
map(inx,:)=[];
s(inx)=[];

%在圖中顯示各像素的數量及佔比
clf
holdon
fori=1:length(s)
plot(0.1,i,'s','markerface',map(i,:),'markeredge','k','markers',30)
text(0.4,i,sprintf('%-16i',s(i)),'fontsize',18)
text(0.8,i,sprintf('%4.1f%%',s(i)/sum(s)*100),'fontsize',18)
end
set(gcf,'color','w');
axisoff
xlim([01])

⑧ 照片處理程序代碼

-C++。
圖片處理代碼:
#include
#include
#include
#include
#include
#include
#include
#include
該模塊是完成BMP圖像(彩色圖像是24bit RGB各8bit)的像素獲取,並存在文件名為xiang_su_.txt中
unsigned char *pBmpBuf;//讀入圖像數據的指針
int bmpWidth;//圖像的寬
int bmpHeight;//圖像的高
RGBQUAD *pColorTable;//顏色表指針
int biBitCount;//圖像類型,每像素位數。//讀圖像的點陣圖數據、寬、高、顏色表及每像素位數等數據進內存,存放在相應的全局變數中
bool readBmp(char *bmpName){FILE *fp=fopen(bmpName,"rb");//二進制讀方式打開指定的圖像文件
if(fp==0)
return 0;
//跳過點陣圖文件頭結BITMAPFILEHEADERfseek(fp, sizeof(BITMAPFILEHEADER),0);//定義點陣圖信息頭結構變數,讀取點陣圖信息頭進內存,存放在變數head中BITMAPINFOHEADER head;fread(&head, sizeof(BITMAPINFOHEADER), 1,fp); //獲取圖像寬、高、每像素所佔位數等信息bmpWidth = head.biWidth;bmpHeight = head.biHeight;biBitCount = head.biBitCount;//定義變數,計算圖像每行像素所佔的位元組數(必須是4的倍數)int lineByte=(bmpWidth * biBitCount/8+3)/4*4;//灰度圖像有顏色表,且顏色表表項為256if(biBitCount==8)。

⑨ 按鍵精靈腳本如何寫當像素變化時滑鼠移到像素變化物體坐標上

哥們題不清楚
按鍵沒有像素的概念
是顏色嗎

VBSCall FindColorEx(0,0,1024,768,"FFFFFF",1,0.8,x,y)
If x>=0 and y>=0
MoveTo x y
Delay 50
LeftClick 1
EndIf
//條件結束

⑩ 迷你世界怎麼用腳本生成像素

這個很簡單,打開QQ,搜索QQ小程序:迷你世界像素畫,點進去,獲取基礎腳本,再點像素畫,可以自己上傳圖片呢!

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:645
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:936
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:632
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:821
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:731
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1066
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:299
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:160
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:850
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:763