Wake of Gods Forum | Форум Во Имя Богов

Full Version: С++, общая тема
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
Quote:почем я помню? помню, что не понравилось
:D
Впечатление с первого взгляда зачастую обманчиво. Нужно взлянуть повторно и хотя бы немного разобраться, чтобы могло "понравиться".
Если ты даже НЕ ПОМНИШЬ, почему тебе не понравилось - это просто глупый предрассудок. Если были бы какие-то объективные аргументы - тогда ладно Sm

Причём это опять не только к ЯП применимо, так везде - нельзя судить ни в коем случае по первому впечатлению, всё следует внимательно и подробно осмотреть/проанализировать. Многое из того, что мне сейчас нравится, с первого взгляда не понравилось (включая буст, хех).
но сейчас мне тот буст даром не нужен, зачем с ним разбираться? понадобится - разберусь.
Как сделать четко прозрачную картинку? Без всяких муаров и рамочек

Image: c0aae5706b91t.jpg
Получилось только так.. Блин, весь день убил на эту ерунду. Самая главная проблема в том, что когда сохраняю в БМП графические редакторы его портят и создают то что вы видите на картинке (белую обводку по краям)

Поступал так:
1) Открыл картинку в GIMP
2) Выделил элипсом, скопировал на новый слой
    а) Сохранил в PNG с прозрачными краями
    б) Сохранил в БМП с белыми краями
    в) Сохранил в БМП с зелеными краями
    г) Сохранил в JPG c белыми краями

3) Открывал поочередно в билдере - TImage, \ Transparent = true
Результат далек от оригинала

4) Открыл паинт
    а) Сохранил в БМП с прозрачными краями (с заменой на белое, нынешний вариант)
    б) Сохранил в БМП с белыми краями
    в) Сохранил в БМП с зелеными краями
    г) Сохранил в БМП c белыми краями

5) Открывал поочередно в билдере - TImage, \ Transparent = true
Результат далек от оригинала

Ну как??? Как сделать четко?
packa
а AlphaBlend=true случайно не поможет?

просто не понял вопроса ((( .
Из перечисленных тобой форматов прозрачность поддерживает только PNG.
MS Paint (не Paint.NET) не поддерживает прозрачность, точнее там есть какое-то подобие прозрачности.
Quote:Как сделать четко прозрачную картинку? Без всяких муаров и рамочек
Тебе нужно сделать картинку или отобразить её в твоей программе? Это всё-таки разные вещи.
Quote:Как сделать четко прозрачную картинку? Без всяких муаров и рамочек

Никак. Взять фотошоп, сделать негрубое выделение и скопировать на прозрачный фон. Сохранить в PNG. Научиться выводить PNG с полупрозрачностью.
(04.02.2012 23:30)FBX Wrote: [ -> ]Научиться выводить PNG с полупрозрачностью.
через GDI+, к примеру
Quote:Тебе нужно сделать картинку или отобразить её в твоей программе?
Ну картинку то легко - в ПНГ.
А вот чтобы БМП был однородным - не знаю ( БМП нужен как раз для того чтобы отобразить в программе, ибо с ПНГ сложнее.
Quote:Никак. Взять фотошоп, сделать негрубое выделение и скопировать на прозрачный фон. Сохранить в PNG.
Ну это все готово
БМП изначально не поддерживает прозрачность, хотя в нём могло бы быть место ей. ГИФ, как и масочная прозрачность с одним каким-то "цветом прозрачности" - прошлый век и ещё и плодит кучу ненужных проблем. Можно порекомендовать формат TGA, поскольку его можно прочитать вручную без особых сложностей.

Но, похоже, тут всё настолько запущено...
packa, юзай формат png и библиотеку pngimage. Я как-то имел с ней дело - всё отлично сработало, никаких проблем не возникло.
Quote:Но, похоже, тут всё настолько запущено...
Вот только не надо так, это достаточно оскорбительно.

Efrit, спасибо, посмотрю.
Как сделать 2 Активных окна?
Равноправных так сказать.

Удалось только вывести 2 сразу, но одна неактивная, серая.
напиши свою ось, в которой активных окон может быть больше одного (или только два). но мне почему-то кажется, что проблема не такая сложная, какой ты ее представляешь. зачем тебе это вообще?
активное окно это -
    окно на переднем плане(в большинстве случаев)
    окно ПОЛУЧАЮЩЕЕ сообщения от КЛАВИАТУРЫ(за редким исключением)
    ...
так что, packa, твое желание неосуществимо.

PS: у тебя есть хэндлы открытых окон, используй их для вывода
Неудобно тут уже спрашивать)
Но что делать =)

Простая подсветка кнопки. Думал что сделаю за 10 минут, ушел с головой на пару часов, так ничего путного не сделал.
Накостылял такой код
Code:
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
DoubleBuffered = true;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::SpeedButton1MouseMove(TObject *Sender,
      TShiftState Shift, int X, int Y)
{
SpeedButton1-> Glyph ->LoadFromFile("notme_2.bmp");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift,
      int X, int Y)
{
SpeedButton1-> Glyph ->LoadFromFile("notme.bmp");
}

Он рабочий, но мне совсем не нравится его исполнение.
И к тому же, если перескочить быстро с кнопки на другую кнопку, форммув не сработает и кнопка останется подсвеченной.

Any Ideas?
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
Reference URL's