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);
}
程序运行效果: