有谁知道怎样用C语言打开图片?
原型:
int WINAPI icePub_dispImg(HWND hWnd,char *strImgFilename,int x,int y)
输入:hWnd 窗体或控件句柄
strImgFilename 待显示的图片文件名
x x坐标
y y坐标
输出:
{
typedef int (WINAPI ICEPUB_DISPIMG)(HWND hWnd,char *strImgFilename,int x,int y);
ICEPUB_DISPIMG *icePub_dispImg = 0;
HINSTANCE hDLLDrv = LoadLibrary(“icePubDll.dll”);
if(hDLLDrv)
{
icePub_dispImg = (ICEPUB_DISPIMG *)GetProcAddress(hDLLDrv, “icePub_dispImg”);
}
if(icePub_dispImg != NULL)
icePub_dispImg(m_hWnd,”b.png”,10,10);
//icePub_dispImg(m_ctrlText.m_hWnd,”b.jpg”,0,0);
if(hDLLDrv)
FreeLibrary(hDLLDrv);
}
用C++如何读取图片
实现的方法和详细的操作步骤如下:
1、第一步,在图片采样软件中找到软件快捷方式,然后单击以打开该软件,如下图所示,然后进入下一步。
2、其次,完成上述步骤后,已经进入了取模软件,单击“载入图片”按钮以添加图片,如下图所示,然后进入下一步。
3、接着,完成上述步骤后,选择要添加的图片,单击以选择图片,然后单击“打开”按钮,如下图所示,进入下一步。
4、然后,完成上述步骤后,单击“参数”按钮以进入图片参数设置界面,如下图所示,然后进入下一步。
5、随后,完成上述步骤后,根据实际情况进行相关参数的设置,如下图所示,然后进入下一步。
6、接着,完成上述步骤后,单击“参数确认”按钮,如下图所示,然后进入下一步。
7、然后,完成上述步骤后,单击“数据保存”按钮,如下图所示,然后进入下一步。
8、随后,完成上述步骤后,选择文件保存路径,然后单击“保存”按钮,如下图所示,然后进入下一步。
9、最后,完成上述步骤后,可以看到刚刚生成的图片C文件,只需将代码添加到C语言中即可,如下图所示。这样,问题就解决了。
如何用c语言播放同一文件夹里的图片
在C语言中,要播放图片需要使用图形库。常用的图形库有SDL、OpenGL等。
以SDL为例,以下是一个简单的示例代码:
“`c
#include stdio.h
#include “SDL2/SDL.h”
int main(int argc, char* argv[])
{
SDL_Window *window = NULL;
SDL_Surface *surface = NULL;
SDL_Surface *image = NULL;
// 初始化SDL
if (SDL_Init(SDL_INIT_VIDEO) 0)
return -1;
// 创建窗口
window = SDL_CreateWindow(“Image Viewer”, SDL_WINDOWPOS_UNDEFINED,
SDL_WINDOWPOS_UNDEFINED, 640, 480,
SDL_WINDOW_SHOWN);
if (!window)
return -1;
// 加载图片
image = IMG_Load(“example.png”);
if (!image)
return -1;
surface = SDL_GetWindowSurface(window);
// 将图片绘制到窗口上
if (surface image)
{
int success=0;
success=SDL_BlitSurface(image,NULL,surface,NULL);
if(success==0){
printf(“Success\n”);
}
else{
printf(“Error: %s\n”,IMG_GetError());
}
}
// 更新窗口显示内容并等待退出事件发生
while(1){
SDL_UpdateWindowSurface(window);
Uint32 time_passed_ms=10;
Uint32 end_time_ms=SDL_GetTicks()+time_passed_ms;
while(end_time_msSDL_GetTicks()){}
}
// 清理资源并退出程序
if (image) {
SDL_FreeSurface(image);
image=NULL;
}
if(surface){
SDL_FreeSurface(surface);
surface=NULL;
}
SDL_DestroyWindow(window);
window=NULL;
IMG_Quit();
SDL_Quit();
return 0;
}
“`
这个示例代码可以加载同一文件夹下名为”example.png”的图片,并将其绘制到创建的窗口上。您可以根据自己的需求进行修改和扩展。
需要注意的是,在编译前需要安装相应的图形库,并且链接相关库文件。例如,在Linux系统下使用gcc编译时,命令可能如下所示:
“`bash
gcc example.c `sdl2-config –libs` -lSDL2_image -o example.out
“`
希望能对您有所帮助!
如何用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 || jh – 3)
image1[Twoto1(i,j,w)] = 0;
else
{
float temp = 0;
for (int m = 0; m5; m++)
for (int n = 0; n5; n++)
{
temp += (image[Twoto1(i-2+m,j-2+n,w)] moban[m][n]);
}
if (temp255) image1[Twoto1(i, j, w)] = 255;
else if (temp0) 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);
}
扩展资料
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\n”,size);
FILE * pFile,*qw;
char *buffer=(char*)malloc(sizeof(char)*size);
qw =fopen(“qw”,”r”);
pFile = fopen ( “qwe” , “wb” );
printf(“%d==\n”,pFile);
printf(“%d\n”,size);
fread(buffer,1,size,qw);
fwrite (buffer , sizeof(byte), size , pFile );
fclose (pFile);
rename(“qwe”,”Groot.jpg”);
return 0;
}
C语言怎么输出一张图片?
输出到文件的话,按照指定图片格式,写入文件即可。
电脑型号:微星 GF63 Thin 9SC
系统版本:Microsoft Windows 10
文本文件
1、打开电脑上要读取的文本文件。
2、打开文本后,点击文本左上角的【文件】按钮。
3、点击【另存为】。这样就会保存本来的这个文本文件,生成一个新的c文件。
4、点击【保存类型-对应的下拉按钮】。
5、选择【C source file(*.c)】。这个就是我们需要转换成C格式的后缀。
6、选择后,点击【保存】。保存后我们即可正常读取该文件了。
C语言如何打开图片 比如在C:\1.jpg 如何用C语言直接打开啊 ?像双击打开一样的。
想太多,图片也就是像素点构成。可以用软件把图片转化成十六进制数组,用C语言打开