| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5768 人关注过本帖
标题:求重写putpixel函数
取消只看楼主 加入收藏
hitzl
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2007-8-24
收藏
 问题点数:0 回复次数:13 
求重写putpixel函数

郁闷了,画图都要靠这个函数,NEO SDK画点也是调用了这个函数,
可是在linux上没有这个函数,
现在想重写这个函数,却不知道如何写.

斑竹,大虾们来开动一下你们脑筋

搜索更多相关主题的帖子: 函数 重写 putpixel SDK 大虾 
2007-08-31 15:30
hitzl
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2007-8-24
收藏
得分:0 

帮帮忙拉


2007-08-31 17:56
hitzl
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2007-8-24
收藏
得分:0 

斑竹,目前我查过TUbro C库函数,仍没有找到putpixel函数的源码。由于本人不懂汇编,因此写不出来这个函数的实现。斑竹,帮帮忙吧,搞了好久也搞不掂这个画点东东


2007-09-03 09:29
hitzl
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2007-8-24
收藏
得分:0 

谢谢 hjj1123 的回复。但是问题仍没有解决。
开始我没有把问题说清楚,再重新说明一下这个问题

问题:我在Linux上需要调用一个画点函数。

由于在linux平台没有的画点函数,因此我看完一笔苍穹斑竹的文章后,开始尝试重写Tubro C的putpixel画点函数。但是我参考的“库函数源码大全”并没有给出putpixel的源代码(“大全”基本上对graphic.h里声明函数都没有给出函数的定义,只是说明了一下使用方法)。而我又不懂汇编编程,因此不知道如何在Linux下重写这个函数。

之所以在Tubro C里库函数里要查找putpixel,就是想借鉴一下Tubro C里怎么写的该函数。

hjj1123贴出来的内容似乎也和画点函数不相关,呵。不过还是很感谢hjj1123的关注。


2007-09-03 12:59
hitzl
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2007-8-24
收藏
得分:0 
我使用的是fedora,目前还不知道这个版本的Linux是否支持SDL。过会我查一下是否支持。现在有另外一个想法,利用Linux自带的curses.h库

#include "curses.h"
void putpixeles(int x, int y, char color)
{
move(x, y);
fputchar(color);

}

找到所有的颜色对应的16进制码,将它们列出各种颜色的预定义。
这样做可否






2007-09-03 16:55
hitzl
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2007-8-24
收藏
得分:0 
回复:(hitzl)求重写putpixel函数

我的那个方法不可行,混淆了象素坐标和字符坐标的含义。

呵呵,看来还是要期待斑竹的方法了


2007-09-03 18:17
hitzl
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2007-8-24
收藏
得分:0 

拜谢一笔苍穹斑竹!

讲授的非常细致。连编译过程和测试代码都写来了。呵呵,斑竹真是侠肠骨道。

我这样的初哥very受益啊


2007-09-04 11:22
hitzl
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2007-8-24
收藏
得分:0 


/* 初始化 SDL */
if (SDL_Init (SDL_INIT_VIDEO) < 0)
{
printf("SDL_Init is failed"); //加了一条打印
exit (1);

}

编译通过了。

调试时,初始化的过程出现了一个问题。
我加了这条打印。发现是SDL初始化过程失败了。
(在编译过程中,我确实加了-lSDL的参数)


2007-09-04 15:28
hitzl
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2007-8-24
收藏
得分:0 


。。。
/* 初始化 SDL */
if (SDL_Init (SDL_INIT_VIDEO) < 0)
{
printf("could not initialize SDL: %s\n",SDL_GetError()); //修改一次提示信息
exit (1);
}
。。。。

root\> gcc main.c -o main -lSDL
root\> ./main
root\> could not initialize SDL: No available video device


初始化失败,不能找到可用的视频设备。
我又从google找了一个最简单初始化SDL的例子来调试SDL初始化过程,结果是仍然不能初始化。那么这个视频设备到底是指什么呢?是不是我的显示器。为何我在本地不能初始化呢.


测试初始化SDL的例子附下:
#include <SDL/SDL.h>
#include <stdio.h>

int main() {

printf("Initializing SDL.\n");

/* Initialize defaults, Video and Audio */
if((SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO)==-1)) {
printf("Could not initialize SDL: %s.\n", SDL_GetError());
exit(-1);
}

printf("SDL initialized.\n");

printf("Quiting SDL.\n");

/* Shutdown all subsystems */
SDL_Quit();

printf("Quiting....\n");

exit(0);
}




2007-09-04 16:11
hitzl
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2007-8-24
收藏
得分:0 

运行curses.h库调试过程没有问题。

Framebuffer没有配置,需要如何配置呢


2007-09-05 12:27
快速回复:求重写putpixel函数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023207 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved