SDL像素操作疑问?
c4droid吧
全部回复
仅看楼主
level 12
简单aaaaaaa 楼主
#include<stdio.h>
#include <SDL2/SDL.h>
#include <SDL2/SDL_image.h>
int main()
{
int i=0;
SDL_Window*win=NULL;
SDL_Renderer*render=NULL;
SDL_Surface*picture=NULL;
SDL_Surface*surface=NULL;
SDL_Texture*img=NULL;
//Uint32 *pixer=NULL;
SDL_Init(SDL_INIT_EVERYTHING);
win=SDL_CreateWindow("像素操作",0,0,480,800,SDL_WINDOW_SHOWN);
render=SDL_CreateRenderer(win,-1,SDL_RENDERER_ACCELERATED|SDL_RENDERER_PRESENTVSYNC);
picture=IMG_Load("计算器.jpg");
surface=SDL_CreateRGBSurface(
SDL_SWSURFACE, picture->w, picture->h, picture->format->BitsPerPixel, picture->format->Rmask, picture->format->Gmask, picture->format->Bmask,0
//picture->format->Amask
);
Uint32*pixer=(Uint32*)surface->pixels;
Uint32*point=(Uint32*)picture->pixels;
for(i=0;i<800*360;i++)
{
pixer[i]=point[800*360-i];
}
img=SDL_CreateTextureFromSurface(render,surface);
SDL_RenderCopy(render,img,NULL,NULL);
SDL_RenderPresent(render);
SDL_Delay(10000);
}
2014年10月19日 14点10分 1
level 9
[扭扭]
2014年10月19日 14点10分 2
大神[委屈]
2014年10月19日 14点10分
回复 简单aaaaaaa :看不懂,只知道800*360*4=800*480*3
2014年10月19日 14点10分
回复 简单aaaaaaa :是不是因为这个就不清楚了。
2014年10月19日 14点10分
level 12
简单aaaaaaa 楼主
此图片本是480*800px的,可是在代码中要改成360*800才能显示出来[泪]。到底是什么原因啊
2014年10月19日 14点10分 3
level 13
我看看啊,,最近也在研究像素操作。。。
2014年10月19日 15点10分 4
知道了通知下我
2014年10月20日 01点10分
回复 简单aaaaaaa :嗯
2014年10月20日 04点10分
level 8
2014年10月20日 01点10分 5
1