Форум программистов, компьютерный форум CyberForum.ru

Генерация PNG (проблема) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Заменить каждый нулевой элемент главной диагонали максимальным элементом побочной диагонали http://www.cyberforum.ru/cpp-beginners/thread323037.html
Доброго времени суток. Имеется задача: Дан вещественный массив А. Заменить каждый нулевой элемент главной диагонали максимальным элементом побочной диагонали. Подсчитать количество нулевых элементов главной диагонали. Заранее спасибо!
C++ Как вы считаете скакой книги начать читать стоит? Как вы думаите с какой книги стоить начать изучать С/С++ У меня пару вариантов есть: 1) Освой самостоятельно С++ за 21 день (Джесс Либерти) 2) Страуструп - язык программирования С++. 3) Лафоре Р.- ООП Или ваш вариант. И напишите почему из этих книги не будет подходить мне. Я знаю чуть теории переменые, циклы, switch, if и else. http://www.cyberforum.ru/cpp-beginners/thread323017.html
Структуры данных C++
Описать структуру данных для хранения двусвязного списка целых чисел и определить функцию удаления из него элементов, меньших К
4.Массивы Borland C++ C++
Заданы два одномеpных массива X и Y, содеpжащие кооpдинаты N точек на плоскости. Опpеделить, сколько точек попадет внутpь окpужности с центpом в точке XO, YO и pадиусом R.
C++ Дано целое число m. получить найбольщее целое k при котором 4^k<m http://www.cyberforum.ru/cpp-beginners/thread322963.html
дано целое число m. получить найбольщее целое k при котором 46^k<m Добавлено через 1 минуту извините есть ошибка вот правильная форма дано целое число m. получить найбольщее целое k при котором 4^k<m
C++ Аналог VB-функции Like Есть ли в C++ аналог этой функции? Чтобы программа по заданному шаблону проверяла подобие строк. Если есть, что подскажите что это за функция. Спасибо) Добавлено через 2 часа 52 минуты Неужели никто не знает??? подробнее

Показать сообщение отдельно
Solovei95
0 / 0 / 0
Регистрация: 20.06.2011
Сообщений: 14
20.06.2011, 12:37     Генерация PNG (проблема)
Код
//test3.cpp
//----------------------------------------------------------
//
#pragma pack(1)

#include <stdio.h>
#include <stdlib.h>

struct _IHDR
{
  unsigned long  pngWidth;
  unsigned long  pngHeight;
  unsigned char pngBitDepth;
  unsigned char pngColorType;
  unsigned char pngComType;
  unsigned char pngFilMeth;
  unsigned char pngIntMeth;
};

int main(int argc, char** argv)
{
  _IHDR ihdr = {256,256,8,6,0,0,0};
  char szOut[16] = "test.png";
  unsigned int  img[256][256];
  unsigned int  x, y;
  unsigned int  r, g, b, a;
  unsigned int  r2, g2, b2, a2;
  FILE        * f2;

  // draw gradiend
  for (y=0; y<256; y++)
  for (x=0; x<256; x++)
  {
    a = (255*x)/256;
    r = 0;
    g = 192;
    b = 0;

	r2 = (0*(255-a)+r*a)/255;
	g2 = (192*(255-a)+g*a)/255;
	b2 = (255*(255-a)+b*a)/255;
	a2 = 255;

    img[y][x] = (a2<<24) + (r2<<16) + (g2<<8) + b2;
  }

  // save tga
  if ((f2 = fopen(szOut, "wb")) != 0) 
  {

	fwrite("IHDR", 4, 1, f2);
	fwrite(&ihdr, sizeof(ihdr), 1, f2);
	fwrite("IDAT", 4, 1, f2);
	for (y=0; y<256; y++){
    fwrite(&img[256-1-y][0], 256*4, 1, f2);
	}
	fwrite("IEND", 4, 1, f2);
    fclose(f2);
  }

  printf("OK\n");
  return 0;
}
Я не могу сгенерировать корректный PNG файл! Помагите!

Добавлено через 29 минут
Блин, ну помагите, а?
Помочь сложно?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru