c語言程序圖片
A. c語言 圖片
1、如果有圖片(例如 wzzx.jpg) 程序中插一句:
system("mspaint wzzx.jpg"); 就可以 在運行時顯示這張圖片。
用字元串變數調用也可以:
char pic_name[80]="wzzx.jpg";
char cmd[100];
sprintf(cmd,"mspaint %s",pic_name);
system(cmd); // 顯示圖片
2、system函數:
原型:int system(const char * command);
功能:執行 dos(windows系統) 或 shell(Linux/Unix系統) 命令,參數字元串command為命令名;
說明:在windows系統中,system函數直接在控制台調用一個command命令。在Linux/Unix系統中,system函數會調用fork函數產生子進程,由子進程來執行command命令,命令執行完後隨即返回原調用的進程;
頭文件:stdlib.h;
返回值:命令執行成功返回0,執行失敗返回-1。
B. C語言 編寫程序 運行結果實現圖片上的功能
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
intmain()
{inta,b;
srand(time(0));
a=rand()%3;
printf("計算機輸入的為:%d
",a);
printf("0代表石頭,1代表剪刀,2代表布
");
printf("請輸入一個數:
");
scanf("%d",&b);
printf("玩家輸入的是:%d
",b);
printf("計算機輸入的是:%d
",a);
if(a==b)printf("平局
");
elseif((a-b+3)%3==2)printf("計算機贏了!
");
elseprintf("玩家贏了!
");
return0;
}
C. C語言程序(圖片中的)看一下有什麼問題
從第一個else if 開始這樣改:
else if(2000 <= s && s < 3000);
以下每個 else if 都改成這個格式,你那樣是數學的寫法不是c語言的寫法;
D. 用c語言編寫一個程序,要求實現圖片的拷貝
bmp格式的圖像文件指針,通過偏移量獲取圖像數據,然後將圖像的數據拷貝到二維數組即可,注意bmp格式的圖像上下顛倒,循環時注意。請參考。
E. 如何用c語言讀取圖片
#include
using namespace std;
#define Twoto1(i,j,w) i*w+j
void createimage(unsigned char *&img, int w, int h)
{img = new unsigned char[w*h];}
void delateimage(unsigned char*img)
{delete []img;}
void readimage(unsigned char*img, int w, int h, char *fname)
{
FILE *fp;
fopen_s(&fp,fname, "rb");
if (fp == NULL){ cout << "error" << endl; return; }
size_t result;
result=fread(img , sizeof(unsigned char), w*h, fp);
if (result != w*h)
{
cout << "Reading error" << endl;
return;
}
else
cout << "Reading Ok!" << endl;
fclose(fp);
}
void mobanjuanji(unsigned char image, unsigned char*image1, int w, int h, float moban[5][5])
{
for (int i = 0; i for (int j = 0; j if (iw - 3 || j>h - 3)
image1[Twoto1(i,j,w)] = 0;
else
{
float temp = 0;
for (int m = 0; m<5; m++)
for (int n = 0; n<5; n++)
{
temp += (image[Twoto1(i-2+m,j-2+n,w)] moban[m][n]);
}
if (temp>255) image1[Twoto1(i, j, w)] = 255;
else if (temp<0) image1[Twoto1(i, j, w)] = 0;
else image1[Twoto1(i, j, w)] = temp;
}
}
void saveimage(unsigned char *img, int w, int h, char *fname)
{
FILE *fp;
fopen_s(&fp, fname, "wb");
if (fp == NULL) { cout << "error" << endl; return; }
size_t result;
result = fwrite(img, sizeof(unsigned char), w*h, fp);
if (result != w*h)
{
cout << "Write error" << endl;
return;
}
else
cout << "Write Ok!" << endl;
fclose(fp);
}
void main()
{
unsigned char *img;
unsigned char *img1;
float moban[5][5] = { {0,0,0,0,0},{0, -1, 0, 1, 0 }, { 0, -2, 0, 2, 0 }, { 0, -1, 0, 1, 0 }, { 0,0,0,0,0 } };
//float moban[5][5] = { 0 };
int w = 512, h = 512;
createimage(img, w, h);
createimage(img1, w, h);
readimage(img, w, h, "E:ss.raw");
mobanjuanji(img, img1,w, h, moban);
saveimage(img, w, h, "E:ss_1.raw");
saveimage(img1, w, h, "E:ss_2.raw");
delateimage(img);
delateimage(img1);
}
(5)c語言程序圖片擴展閱讀
C語言實現一個圖片的讀出和寫入
#include <stdlib.h>
#include <windows.h>
int file_size(char* filename)//獲取文件名為filename的文件大小。
{
FILE *fp = fopen(filename, "rb");//打開文件。
int size;
if(fp == NULL) // 打開文件失敗
return -1;
fseek(fp, 0, SEEK_END);//定位文件指針到文件尾。
size=ftell(fp);//獲取文件指針偏移量,即文件大小。
fclose(fp);//關閉文件。
return size;
}
int main ()
{
int size=0;
size=file_size("qw");
printf("%d ",size);
FILE * pFile,*qw;
char *buffer=(char*)malloc(sizeof(char)*size);
qw =fopen("qw","r");
pFile = fopen ( "qwe" , "wb" );
printf("%d==
",pFile);
printf("%d ",size);
fread(buffer,1,size,qw);
fwrite (buffer , sizeof(byte), size , pFile );
fclose (pFile);
rename("qwe","Groot.jpg");
return 0;
}
F. c語言編程 過程求圖片
#include <stdio.h>
#include <string.h>
int main()
{
char a[100],b[100],str[200];
int i,j,t;
printf("請輸入字元串a: ");
gets(a);
printf("請輸入字元串b: ");
gets(b);
for(i = 0 ; i < strlen(a) ; i++)
for(j = 0 ; j < i ; j ++)
if(a[i] < a[j])
{
t = a[i];
a[i] = a[j];
a[j] = t;
}
for(i = 0 ; i < strlen(b) ; i++)
for(j = 0 ; j < i ; j ++)
if(b[i] < b[j])
{
t = b[i];
b[i] = b[j];
b[j] = t;
}
strcpy(str,strcat(a,b));
printf("排序並連接後的字元串為: %s ",str);
}
G. 怎麼用c語言編寫下列圖片中的程序
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
int salary;
float tax = 0;
float salaryAfterTax = 0;
scanf("%d",&salary);
if(salary >= 8000)
{
tax = 800 + (salary-8000)*0.4;
}
else if(salary >= 5000)
{
tax = 200 + (salary-5000)*0.3;
}
else if(salary >= 3000)
{
tax = (salary-3000)*0.2;
}
else
{
tax = 0;
}
salaryAfterTax = salary-tax;
printf("%f",salaryAfterTax);
return 0;
}
這個程序 可以滿足你的要求。
H. c語言中如何導入圖片
1、首先先在圖片取模軟體找到軟體快捷方式,點擊打開軟體。
I. 怎麼樣在c語言中顯示bmp圖片,我要完整正確的程序,急!
lz 你好
c語言要顯示bmp點陣圖需要使用win32的api , 具體如下:
BOOLBitBlt(
HDChdcDest,//點陣圖顯示目標設備環境中
intnXDest,//點陣圖顯示在客戶區的x坐標
intnYDest,//點陣圖顯示在客戶區的y坐標
intnWidth,//點陣圖顯示的寬度
intnHeight,//點陣圖顯示的長度
HDChdcSrc,//源設備環境(包含需要顯示的bmp點陣圖)
intnXSrc,//在當前點陣圖中顯示的開始x位置
intnYSrc,//在當前點陣圖中顯示的開始y位置
DWORDdwRop//映射模式
);
以下是源代碼:
//顯示bmp點陣圖
#include<windows.h>
#include"resource.h"
LRESULTCALLBACKWndProc(HWND,UINT,WPARAM,LPARAM);
voidDrawBrick();
intWINAPIWinMain(HINSTANCEhInstance,
HINSTANCEhPrevInstance,
PSTRszCmdLine,
intiCmdShow)
{
static TCHAR szAppName[]=TEXT("Bmp");
HWND hwnd;
MSG msg;
WNDCLASS wndclass;
wndclass.style =CS_HREDRAW|CS_VREDRAW;
wndclass.lpfnWndProc =WndProc;
wndclass.cbClsExtra =0;
wndclass.cbWndExtra =0;
wndclass.hInstance =hInstance;
wndclass.hIcon =LoadIcon(NULL,IDI_APPLICATION);
wndclass.hCursor =LoadCursor(NULL,IDC_ARROW);
wndclass.hbrBackground =(HBRUSH)GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName =NULL;
wndclass.lpszClassName =szAppName;
if(!RegisterClass(&wndclass))
{
MessageBox(NULL,TEXT("ThisprogramrequiresWindowsNT!"),
szAppName,MB_ICONERROR);
return0;
}
hwnd=CreateWindow(szAppName,
TEXT("BmpDemo"),
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
754,
566,
NULL,
NULL,
hInstance,
NULL);
ShowWindow(hwnd,iCmdShow);
UpdateWindow(hwnd);
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
returnmsg.wParam;
}
LRESULTCALLBACKWndProc(HWNDhwnd,UINTmessage,WPARAMwParam,LPARAMlParam)
{
static HBITMAP hBitmap; //點陣圖句柄標示點陣圖
staticint cxBitmap,cyBitmap; //點陣圖的長寬
BITMAP bitmap;
HDC hdc,hdcMem;
HINSTANCE hInstance;
PAINTSTRUCT ps;
switch(message)
{
caseWM_CREATE:
hInstance=((LPCREATESTRUCT)lParam)->hInstance; //獲取窗口的實例句柄
hBitmap=LoadBitmap(hInstance,MAKEINTRESOURCE(IDB_BITMAP1)); //將點陣圖載入到內存中
GetObject(hBitmap,sizeof(BITMAP),&bitmap);
cxBitmap=bitmap.bmWidth;//獲取點陣圖的長
cyBitmap=bitmap.bmHeight;//獲取點陣圖的寬
return0;
caseWM_PAINT:
hdc=BeginPaint(hwnd,&ps);
hdcMem=CreateCompatibleDC(hdc);//創建一個兼容於hdc設備環境描述表的hdcMem主要是用於在內存中截圖
SelectObject(hdcMem,hBitmap);//將點陣圖選到hdcMem中
BitBlt(hdc,-1,-1,cxBitmap,cyBitmap,hdcMem,0,0,SRCCOPY);//繪制bmp點陣圖
DeleteDC(hdcMem);
EndPaint(hwnd,&ps);
return0;
caseWM_DESTROY:
DeleteObject(hBitmap);
PostQuitMessage(0);
return0;
}
returnDefWindowProc(hwnd,message,wParam,lParam);
}
程序運行效果: