Maison  >  Article  >  développement back-end  >  Comment afficher des images en code de langue C

Comment afficher des images en code de langue C

下次还敢
下次还敢original
2024-04-04 22:39:291270parcourir

Pour afficher des images en langage C, vous pouvez utiliser la bibliothèque SDL2 : initialiser la bibliothèque SDL2 ; créer une fenêtre de rendu ; charger des images ; effacer l'affichage de mise à jour des images ; ressources.

Comment afficher des images en code de langue C

Afficher des images en langage C

En langage C, vous pouvez utiliser la bibliothèque SDL2 (Simple DirectMedia Layer) pour afficher des images. Les étapes suivantes décrivent comment utiliser SDL2 pour afficher des images en langage C :

1 Initialisez la bibliothèque SDL2

<code class="c">#include <stdio.h>
#include <SDL2/SDL.h>

int main() {
  if (SDL_Init(SDL_INIT_VIDEO) != 0) {
    fprintf(stderr, "SDL_Init Error: %s\n", SDL_GetError());
    return 1;
  }</code>

2 Créez une fenêtre

<code class="c">  SDL_Window *window = SDL_CreateWindow("Image Viewer", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 800, 600, SDL_WINDOW_SHOWN);
  if (window == NULL) {
    fprintf(stderr, "SDL_CreateWindow Error: %s\n", SDL_GetError());
    SDL_Quit();
    return 1;
  }</code>

3. Créez un moteur de rendu

<code class="c">  SDL_Renderer *renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);
  if (renderer == NULL) {
    fprintf(stderr, "SDL_CreateRenderer Error: %s\n", SDL_GetError());
    SDL_DestroyWindow(window);
    SDL_Quit();
    return 1;
  }</code>

4. . Charger l'image

<code class="c">  SDL_Surface *image = SDL_LoadBMP("image.bmp");
  if (image == NULL) {
    fprintf(stderr, "SDL_LoadBMP Error: %s\n", SDL_GetError());
    SDL_DestroyRenderer(renderer);
    SDL_DestroyWindow(window);
    SDL_Quit();
    return 1;
  }</code>

5. Créer une texture d'image

<code class="c">  SDL_Texture *texture = SDL_CreateTextureFromSurface(renderer, image);
  SDL_FreeSurface(image);
  if (texture == NULL) {
    fprintf(stderr, "SDL_CreateTextureFromSurface Error: %s\n", SDL_GetError());
    SDL_DestroyRenderer(renderer);
    SDL_DestroyWindow(window);
    SDL_Quit();
    return 1;
  }</code>

6. Effacer l'affichage

<code class="c">  SDL_RenderClear(renderer);</code>

7. 9. Boucle

<code class="c">  int w, h;
  SDL_QueryTexture(texture, NULL, NULL, &w, &h);
  SDL_Rect dstrect = { 0, 0, w, h };
  SDL_RenderCopy(renderer, texture, NULL, &dstrect);</code>
10. Détruisez les ressources

<code class="c">  SDL_RenderPresent(renderer);</code>
.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn