Автор Тема: Проблема с печатью нот  (Прочитано 9386 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Андрей

  • Сообщений: 217
Проблема с печатью нот
« : 2011, 31 Июля, 20:02:44 »
Люди подсакажите пожалуйста что делать,некоторые ноты отпечатываются плохого качества >:(,хотя нa монеторе всё хорошо видать. :)
« Последнее редактирование: 2011, 31 Июля, 20:05:34 от Андрей »

JewChef

  • Завуч
  • *
  • Сообщений: 2631
  • Евгений
Re: Проблема с печатью нот
« Ответ #1 : 2011, 01 Августа, 03:05:56 »
Тут важно понять каким принтером и какой программой для печати пользуешься. Может драйвера не самые новые?

JewChef

  • Завуч
  • *
  • Сообщений: 2631
  • Евгений
Re: Проблема с печатью нот
« Ответ #2 : 2011, 01 Августа, 03:07:59 »
Если из последниx нот что-то распечатать пытался - то они почему-то у Макса и Стёпы на сером фоне, если твой принтер плоxо печатает серый цвет - то текст сольётся с фоном и будет плоxо видно. Выxод тут один - перед печатью каким-либо образом поменять цвет фона с серого на белый/прозрачный (ну или уговорить Макса и Стёпу, что б они выкладывали ноты на белом фоне ;) ).

Максим Чигинцев

  • Преподаватель
  • *
  • Сообщений: 9635
    • Сайт Максима Чигинцева
Re: Проблема с печатью нот
« Ответ #3 : 2011, 01 Августа, 08:24:39 »
Цитировать
Если из последниx нот что-то распечатать пытался - то они почему-то у Макса и Стёпы на сером фоне,

Как это на сером? вроде на белом. В любом случае так сохраняет GuitarPro 6 в котором сейчас работаем. Настроек цвета страницы там нет.

Света

  • Гость
Re: Проблема с печатью нот
« Ответ #4 : 2011, 01 Августа, 11:51:31 »
Люди подсакажите пожалуйста что делать,некоторые ноты отпечатываются плохого качества >:(,хотя нa монеторе всё хорошо видать. :)

Эта проблема существует с файлами .png?
Чтобы распечатать в хорошем качестве, я все .png пересохраняю как .jpg.
Серый фон - это артефакт, появившийся в результате компрессии. На самом деле в файле высокого разрешения фон белый. В .jpg будут и фон белый и ноты четкими.
Столкнулась с этим, когда собирала архив http://school.4igi.ru/index.php?topic=522.0

boo

  • Сообщений: 310
Re: Проблема с печатью нот
« Ответ #5 : 2011, 01 Августа, 11:57:38 »
png файлы жмутся без потерь, в отличии от jpg - в котором при пережатии из png серый может стать белым.

upd:

Пересохранил png нот в jpg фон как был 0xF5F5F5 RGB, так и остался.
« Последнее редактирование: 2011, 01 Августа, 12:04:34 от boo »

Света

  • Гость
Re: Проблема с печатью нот
« Ответ #6 : 2011, 01 Августа, 12:03:03 »
вот пожалуйста: http://school.4igi.ru/index.php?topic=522.0
ничего не пережалось. Все как надо ))))
Или второй вариант, может Андрей сохраняет для печати не исходную страничку с нотами, а ее preview?

boo

  • Сообщений: 310
Re: Проблема с печатью нот
« Ответ #7 : 2011, 01 Августа, 12:05:49 »
Да на таких картинках пережатие не будет видно :) 

Света

  • Гость
Re: Проблема с печатью нот
« Ответ #8 : 2011, 01 Августа, 12:17:40 »
Боюсь сейчас дискуссия перерастет в обсуждение достоинств и недостатков бикубической компрессии например ))))
А надо ответить на вопрос Андрея, что же ему все таки делать))))

boo

  • Сообщений: 310
Re: Проблема с печатью нот
« Ответ #9 : 2011, 01 Августа, 13:20:10 »
Если проблема с фоном, то вот накидал программулину для чистки.

Запускаем открывается диалог выбора файла png. Выбираем файл, прога отрабатывает и рядом появляется файс с суффиксом cleaned. (Например выбран был файл 123.png - на выходе будет 123_cleaned.png) Цвет F5F5F5 заменяется на FFFFFF.

P.S. Возможно Максу и Степе использовать ее перед выкладыванием, серый фон это  вправду плохо.

Исходник для тех кто боится вирусов и собирает всё сам:
Код: (cpp) [Выделить]

#include <windows.h>

#include <gdiplus.h>
#include <string>

#pragma comment (lib, "gdiplus.lib")

ULONG_PTR  token;


void CleanupPng( const std::wstring & _file )
{
Gdiplus::Image img( _file.c_str() );

Gdiplus::Bitmap bmp( img.GetWidth(), img.GetHeight() );

Gdiplus::Graphics g( &bmp );

g.DrawImage( &img , 0, 0 );

GUID    FormatPNG = {0x557CF406,0x1A04,0x11d3,0x9A,0x73,0x00,0x00,0xf8  ,0x1e,0xf3,0x2e};     

for (unsigned int i =0; i< bmp.GetWidth(); ++i)
{
for (unsigned int j = 0; j < bmp.GetHeight(); ++j )
{
Gdiplus::Color color;
bmp.GetPixel( i, j, &color );
if ( color.ToCOLORREF() == 0xF5F5F5 )
bmp.SetPixel(i,j, 0xFFFFFF);
}
}

bmp.Save( (_file.substr(0, _file.find(L".png"))+ L"_cleaned.png").c_str(),&FormatPNG );
}



int APIENTRY WinMain(  HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine,int nCmdShow )
{
OPENFILENAME ofn;

wchar_t szFile[MAX_PATH];
ZeroMemory(&ofn, sizeof(ofn));
ofn.lStructSize = sizeof(ofn);
ofn.hwndOwner = 0;
ofn.lpstrFile = szFile;
ofn.lpstrFile[0] = L'\0';
ofn.nMaxFile = sizeof(szFile);
ofn.lpstrFilter = L"PNG\0*.png\0Png\0*.png\0";
ofn.nFilterIndex = 0;
ofn.lpstrFileTitle = NULL;
ofn.nMaxFileTitle = 0;
ofn.lpstrInitialDir = NULL;
ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;


if (!GetOpenFileName(&ofn) )
return 0;


Gdiplus::GdiplusStartupInput gdiplusStartupInput;
Gdiplus::GdiplusStartup( &token, &gdiplusStartupInput , 0 );

CleanupPng( szFile );

Gdiplus::GdiplusShutdown(token );

return 0;
}


JewChef

  • Завуч
  • *
  • Сообщений: 2631
  • Евгений
Re: Проблема с печатью нот
« Ответ #10 : 2011, 01 Августа, 13:54:32 »
Вот спасибо за програмку! А то уже думал на новый картридж раскошелиться прийдётся!

А что такое "F5F5F5"? Почему именно этот цвет? Может лучше написать: 

if ( color.ToCOLORREF() != 0xFFFFFF)

так теоретически должно быть универсальнее (но я в C/C++ не специалист).

« Последнее редактирование: 2011, 01 Августа, 13:59:43 от JewChef »

boo

  • Сообщений: 310
Re: Проблема с печатью нот
« Ответ #11 : 2011, 01 Августа, 14:15:46 »
если написать != FFFFFF то все цвета кроме белого превратятся в белый ) будет белоснежный лист - учить такие ноты одно удовольствие :) очень быстро плучается :D

Ну я посмотрел просто цвет в исходных файлах - там серый RGB 245 245 245 - в hex это 0xF5. Для универсальности надо брать скажем цвет пиксела верхнего левого угла - и считать что это цвет фона.

JewChef

  • Завуч
  • *
  • Сообщений: 2631
  • Евгений
Re: Проблема с печатью нот
« Ответ #12 : 2011, 01 Августа, 14:41:33 »
Ясно. Я думал ты каким-то образом работаешь только лишь с цветом фона (даже удивиться успел).

Цитировать
Если проблема с фоном, то вот накидал программулину для чистки.

А если диферинциации на цвет фона и цвет шрифта нет - то конечно 0xF5.
« Последнее редактирование: 2011, 01 Августа, 14:43:41 от JewChef »

Света

  • Гость
Re: Проблема с печатью нот
« Ответ #13 : 2011, 01 Августа, 14:58:15 »
 *SHOCK*
ну вы тут навернули))))) мы не ищем легких путей )))))

Анекдот про программистов:

Жена посылает мужа-программиста в магазин. Говорит купи батон колбасы, а если будут яйца, то возьми десяток.
Муж возвращается с десятью батонами колбасы.
Жена: "зачем, ты купил десять батонов колбасы?"
Муж: "ну ты же сказала, если будут яйца - взять десяток"

JewChef

  • Завуч
  • *
  • Сообщений: 2631
  • Евгений
Re: Проблема с печатью нот
« Ответ #14 : 2011, 01 Августа, 15:04:44 »
 *ROFL* *ROFL* *ROFL* В точку!