Lesson2
#ifdef __cplusplus
#include <cstdlib>
#else
#include <stdlib.h>
#endif #include <SDL/SDL.h>
#include <string>
const int SCREEN_WIDTH=;
const int SCREEN_HEIGT=;
const int SCREEN_BPP=; SDL_Surface *message=NULL;
SDL_Surface *background=NULL;
SDL_Surface *screen=NULL; SDL_Surface *load_image(std::string filename)
{
SDL_Surface* loadedImage=NULL;
SDL_Surface* optimizedImage=NULL;
loadedImage=SDL_LoadBMP(filename.c_str());
if(loadedImage!=NULL)
{
optimizedImage=SDL_DisplayFormat(loadedImage); SDL_FreeSurface(loadedImage); }return optimizedImage;
} void apply_surface(int x,int y,SDL_Surface* source,SDL_Surface* destination)
{
SDL_Rect offset; offset.x=x;
offset.y=y; SDL_BlitSurface(source,NULL,destination,&offset);
}
int main ( int argc, char** argv )
{
if(SDL_Init(SDL_INIT_EVERYTHING)==-)
{
return ; }
screen=SDL_SetVideoMode(SCREEN_WIDTH,SCREEN_HEIGT,SCREEN_BPP,SDL_SWSURFACE);
SDL_WM_SetCaption("hello world",NULL);
message=load_image("hello.bmp");
background=load_image("background.bmp"); apply_surface(,,background,screen);
apply_surface( , , background, screen );
apply_surface( , , background, screen );
apply_surface( , , background, screen ); apply_surface( , , message, screen );
//更新窗口
if( SDL_Flip( screen ) == - )
{
return ;
} SDL_Delay( ); //释放表面
SDL_FreeSurface( message );
SDL_FreeSurface( background );
//退出SDL
SDL_Quit(); return ;
}
其中有两个图片:hello.bmp和background.bmp(找了一下大于10M的要先上传,然后保存链接地址)


都在我的相册中,打开网页另存图片即可。
如有疑问请留言!
Lesson2的更多相关文章
- 动手动脑(lesson2)
一·随机数生成问题 //信1605-3 20163683 蔡金阳 package lesson2; public class Suiji { private static final int N = ...
- React.js 小书 Lesson2 - 前端组件化(一):从一个简单的例子讲起
作者:胡子大哈 原文链接:http://huziketang.com/books/react/lesson2 转载请注明出处,保留原文链接和作者信息. 很多课程一上来就给大家如何配置环境.怎么写 Re ...
- node lesson2
var express = require('express'); var utility = require('utility'); var app = express(); app.get('/' ...
- Lesson2 Thirteen equals one
Lesson2 Thirteen equals one equal ['i:kwəl] v. 等于 He equaled the world record. Nobody equals him i ...
- Lesson2.1:LinkedList、ConcurrentLinkedQueue、LinkedBlockingQueue对比分析
写这篇文章源于我经历过的一次生产事故,在某家公司的时候,有个服务会收集业务系统的日志,此服务的开发人员在给业务系统的sdk中就因为使用了LinkedList,又没有做并发控制,就造成了此服务经常不能正 ...
- lesson2:java阻塞队列的demo及源码分析
本文向大家展示了java阻塞队列的使用场景.源码分析及特定场景下的使用方式.java的阻塞队列是jdk1.5之后在并发包中提供的一组队列,主要的使用场景是在需要使用生产者消费者模式时,用户不必再通过多 ...
- C# lesson2
一.C#数据类型 1.值类型 包括数据相关(short.long.int .double.float).布尔(bool).枚举 2.引用类型 Object .对象.数组.字符串 二.存储方式 值类型 ...
- (Lesson2)根据类名称和属性获得元素-JavaScript面向对象
描述:在编写选择器的时候遇到的一根问题,我需要实现Jquery的选择器功能,第一个根据ID获取Element非常简单,第二个根据类(class)去获取Element集合,这个相对复杂,而根据name和 ...
- CryptoZombies学习笔记——Lesson2
第二课是僵尸猎食,将把app变得更像一个游戏,添加多人模式,建立更多创造僵尸的方法. chapter1 依然是简介 chapter2:映射和地址 映射相当于一个索引,指向不同地址,不同地址存储的数据不 ...
- 专题2-通过按键玩中断\2440按键中断编程lesson2
1.程序优化 修改Makefile 把main.c里面的mmu代码复制到mmu.c并修改如下 main.c的修改 由于在bootloader当中一般不会使用MMU,所以 main.c 加入led.c文 ...
随机推荐
- 2、webpack基础配置
我们需要安装webpack 还需要安装webpack cli 这两个都是我们的开发依赖 这里我们一般会加一个-D表示上线的时候不需要他们两个包 安装我们的webpack 先初始化一下,记住我们的安装依 ...
- HDU3279【水】
思路: 求数组里的第三大: #include <bits/stdc++.h> using namespace std; typedef long long LL; int a[15]; i ...
- js 判断当前操作系统 ios, android, 电脑端
一 . js判断移动端的操作系统(ios或Android) $(function () { var u = navigator.userAgent; var isAndroid = u.index ...
- log日志中不打印异常栈的具体信息
问题与分析 最近在查项目的log时发现报了大量的NPE(NullPointerException),诡异的是只log了Exception的类名,却没有具体的堆栈信息,以致于无法对该NPE异常进行准确定 ...
- 应用性能监控-web系统
1 系统规划 参考https://mp.weixin.qq.com/s/UlnHOaN0xaA0jfg5CEmLRA 1.1 数据采集的原则: 数据采集,说起来比较简单,只要把数据报上来就行,具体怎么 ...
- Gym - 101810C ACM International Collegiate Programming Contest (2018)
bryce1010模板 http://codeforces.com/gym/101810 #include <bits/stdc++.h> using namespace std; #de ...
- ORA-00972_标识符过长
执行SQL查询报:"ORA-00972:标识符过长"错误. 执行SQL: SELECT T.F_FTBS, T.F_TZMC "X组/XXXX/XXXX名称", ...
- csu 1552: Friends 二分图 + Miller_Rabin
http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1552 把那n个数写两次,分成相同的两堆,判断相加是质数的,连一条边,然后找最大匹配,ans = ...
- 牛客网Java刷题知识点之多线程同步的实现方法有哪些
不多说,直接上干货! 为何要使用同步? java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查), 将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避 ...
- EF Core MySql GUID配置方式
builder.Property(m => m.Id) .HasColumnName("Id") .ForMySQLHasColumnType("char(36)& ...