C言語 波形グラフ描画の基本と実践
C言語では、グラフィックライブラリを使用して波形グラフを描くことができます。一般的に使用されるグラフィックライブラリには、SDL、OpenGL、GTKなどがあります。以下はSDLライブラリを使用して波形グラフを描画するサンプルコードです。
#include <SDL2/SDL.h>
#define SCREEN_WIDTH 800
#define SCREEN_HEIGHT 600
void drawWaveform(SDL_Renderer* renderer) {
int i;
SDL_SetRenderDrawColor(renderer, 255, 255, 255, 255); // 设置绘制颜色为白色
for (i = 0; i < SCREEN_WIDTH; i++) {
int y = SCREEN_HEIGHT / 2 + 50 * sin(i / 20.0); // 根据正弦函数计算波形点的y坐标
SDL_RenderDrawPoint(renderer, i, y); // 绘制波形点
}
}
int main() {
SDL_Window* window;
SDL_Renderer* renderer;
SDL_Init(SDL_INIT_VIDEO);
SDL_CreateWindowAndRenderer(SCREEN_WIDTH, SCREEN_HEIGHT, 0, &window, &renderer);
SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255); // 设置背景颜色为黑色
SDL_RenderClear(renderer);
drawWaveform(renderer);
SDL_RenderPresent(renderer);
SDL_Delay(5000); // 延时5秒
SDL_DestroyRenderer(renderer);
SDL_DestroyWindow(window);
SDL_Quit();
return 0;
}
サンプルコードは、SDLライブラリを使用してウィンドウに簡単な正弦波形を描画しています。まず、SDL_Init()関数を使用してSDLライブラリを初期化し、ウィンドウとレンダラーを作成します。次に、ウィンドウに波形を描画し、最後にSDL_RenderPresent()関数を使用して描画した波形を表示します。最後に、SDL_Delay()関数を使用して5秒間待機し、ウィンドウを閉じてリソースを解放します。
SDLライブラリをリンクする必要があることに注意してください。コンパイルする際には、次のコマンドを使用できます:
gcc -o waveform waveform.c `sdl2-config --cflags --libs`