1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/pozhu15-bitmap_play

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
图片转换为字符.cpp 1.8 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
pozhu15 Отправлено 29.11.2019 05:58 9155522
/************************************
ͼϵͳ,ReadBitMap
*************************************/
#include"bm.h"
#include<math.h>
void main()
{
int be = 2;
long poitn = 0;
BITMAP_PZ bm = CreMap_pz("44.bmp");
BITMAP_PZ bm1 = CreMap_pz("22.bmp");
FILE *poit;
poit = fopen("poit.txt", "w");
int m = bm.BitInfoHead.biWidth / 2;
int n = bm.BitInfoHead.biHeight / 2;
int x, y, z;
initgraph(bm.BitInfoHead.biWidth, bm.BitInfoHead.biHeight);
int oo = 0;
for (int j = 0; j < bm.BitInfoHead.biHeight; j += 4)
{
for (int i = 0; i < bm.BitInfoHead.biWidth; i += 4)
{
RGBQUAd rgbb = GetPix(&bm, i, j);
//if (sqrt(pow((double)(m - i), 2) + pow((double)(n - j), 2)) >200 )
{
putpixel(i, j, RGB(rgbb.rgbRed, rgbb.rgbGreen, rgbb.rgbBlue));
if (rgbb.rgbRed*0.299 + rgbb.rgbGreen*0.578 + rgbb.rgbBlue*0.114 >= 240)
fprintf(poit, ".");
else if (rgbb.rgbRed*0.299 + rgbb.rgbGreen*0.578 + rgbb.rgbBlue*0.114 >= 210)
fprintf(poit, ".");
else if (rgbb.rgbRed*0.299 + rgbb.rgbGreen*0.578 + rgbb.rgbBlue*0.114 >= 180)
fprintf(poit, "-");
else if (rgbb.rgbRed*0.299 + rgbb.rgbGreen*0.578 + rgbb.rgbBlue*0.114 >= 150)
fprintf(poit, "+");
else if (rgbb.rgbRed*0.299 + rgbb.rgbGreen*0.578 + rgbb.rgbBlue*0.114 >= 120)
fprintf(poit, "*");
else if (rgbb.rgbRed*0.299 + rgbb.rgbGreen*0.578 + rgbb.rgbBlue*0.114 >= 90)
fprintf(poit, "E");
else if (rgbb.rgbRed*0.299 + rgbb.rgbGreen*0.578 + rgbb.rgbBlue*0.114 >= 60)
fprintf(poit, "&");
else if (rgbb.rgbRed*0.299 + rgbb.rgbGreen*0.578 + rgbb.rgbBlue*0.114 >= 30)
fprintf(poit, "$");
else
fprintf(poit, "@");
poitn++;
oo++;
}
}
fprintf(poit, "\n");
}
RGBQUAd rgbp;
fclose(poit);
CloseBM_pz(bm); //رλͼ
getchar();
getchar();
closegraph();
printf("\n");
}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/pozhu15-bitmap_play.git
git@api.gitlife.ru:oschina-mirror/pozhu15-bitmap_play.git
oschina-mirror
pozhu15-bitmap_play
pozhu15-bitmap_play
master