Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2007.09.23;
Скачать: [xml.tar.bz2];

Вниз

Проблема с прозрачностью на ровном месте.   Найти похожие ветки 

 
Виталий*   (2007-02-20 00:53) [0]

Всем привет.
Открываю Paint, на белом фоне создаю черный квадрат :) .
Сохраняю его с 256 цветов.

Рисую :

procedure TForm1.PaintBox1Paint(Sender: PControl; DC: HDC);
var bmp: PBitmap;
begin
 bmp:= NewBitmap(0,0);

 bmp.LoadFromFile("c:\list5.bmp");

 bmp.DrawTransparent(dc,0,0, clwhite);
 bmp.Free;
end;


Фон сто пудово белый.
С 16цветами и 24 битами и Pascal версии все работает.

В чем проблема??? Помогите !


 
Виталий*   (2007-02-20 00:54) [1]

Версия кол самая последняя.


 
ANTPro ©   (2007-02-20 01:48) [2]

> [0] Виталий*   (20.02.07 00:53)
> list5.bmp

Картинку покажи

Пробовал?: bmp.DrawTransparent(Form1.canvas.handle,0,0, clwhite);


 
Виталий*   (2007-02-20 14:14) [3]

Откройте paint нарисуйте квадрат (или что угодно) и сохраните как 256 bmp. Вот это та самая картинка.


> Пробовал?: bmp.DrawTransparent(Form1.canvas.handle,0,0,
> clwhite);

Э-э. а зачем? Методы то одинаковые.

Пробовал, пробовал.


 
Vladimyr ©   (2007-02-20 15:37) [4]

1. вместо clwhite поставить bitmap.Pixels[0,0]
2. Не надо иcпользовать канву! Глючит на Win98. Лучше DC.


 
Vladimir Kladov   (2007-02-20 15:51) [5]

Нарисовал квадрат, заменил Bmp1.bmp в DemoPaintBitmap и рисование на DrawTransparent( ..., clWhite ). прозрачно. Сделал на Paintbox, а не на форму. Еще прозрачнее (в смысле мусор от прежнего содержимого экрана). Что еще сделать?


 
Vladimir Kladov   (2007-02-20 15:57) [6]

А, не то посмотрел. У меня с последнего раза в опциях PAS_VERSION осталась, с ней все прозрачно. В асме действительно прозрачность куда-то уходит. Хорошо, посмотрю, все равно в асме никто ковыряться не любит кроме меня. Хотя я тоже не люблю, но приходится.


 
Vladimir Kladov   (2007-02-20 16:25) [7]

вот такое пока решение: USE_OLDCONVERT2MASK в опции проекта.


 
Виталий*   (2007-02-20 16:32) [8]

Спасибо, прийду домой попробую обязательно!!!


 
ANTPro ©   (2007-02-20 16:33) [9]

> [4] Vladimyr ©   (20.02.07 15:37)
> 2. Не надо иcпользовать канву! Глючит на Win98. Лучше DC.

Можно по подробней?


> [7] Vladimir Kladov   (20.02.07 16:25)
> CONVERT2MASK

Волшебная функция
Тараканы так и лезут к ней : )


 
Виталий*   (2007-02-20 16:52) [10]

Да все работает , но некоторые другие картинки теперь без прозрачности :)
Буду ждать исправления или на пока перерисую.


 
Vladimir Kladov   (2007-02-20 17:21) [11]

Как раз для этго ражиме 256 цветов нашлось 3 ошибки: одна команда лишняя, другой не хватало, и не на ту метку вдобавок цикл. Просто мы плохо тестировали, забыли режим целый.


 
Vladimyr ©   (2007-02-21 11:22) [12]

[b]ANTPro[/b], история уже с бородой, но повторить не жалко :)

Началось это ещё во времена, когда кроме Win98 была ещё только Win95, и всё :) А кодил я тогда на VCL, но извращаться уже тогда любил :)

И вот накодил я простенькое приложеньице, причём без заголовка окна...
Батоны там овальные, кажется, были... И вот вижу я, что при работе моей проги батоны рисуются в левом верхнем углу экрана, т.е. прямо на рабочем столе!!!
Я прифигел немного, стал тестировать на разных компах, и обнаружил, что такое бывает на разных машинах, но только под 98 виндой, под 95 вроде нормально.
Причину я тогда не нашёл, подшаманил немного, так что глюк стал вылезать реже (но совсем не пропал), и забил :)

Теперь недавно (во времена версии KOL около 1.9), решил я создать ещё одно простенькое приложеньице... И не нашёл в KOL кнопки с картинкой (она чуть позже появилась ;)
Не долго думая беру кнопку без картинки и сам рисую на ней картинку в обработчике OnPaint. Всё вроде работает, но для очистки совести проверяю под разными операционками: XP, 2000, 98...
Каково же было моё удивление, когда под 98 я увидел знакомую картину: иконка вместо центра кнопки улетела в верхний левый угол экрана!!!  %)

"Ну, щас я тебя поймаю!" - подумал я и полез в код. Но ничего неправильного в коде обнаружено не было. Тогда я решил вместо канвы задействовать API и Device Context. Глюк сразу исчез и больше не проявлялся.


 
Vladimyr ©   (2007-02-21 11:24) [13]

... а 98 винда ещё не совсем в утиль пошла.
Она ещё встречается кое-где, например, на не очень новых нотбуках с хилым процом...



Страницы: 1 вся ветка

Форум: "KOL";
Текущий архив: 2007.09.23;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.046 c
1-1184085202
_Mik
2007-07-10 20:33
2007.09.23
Создание отчета


4-1173250668
crytogen
2007-03-07 09:57
2007.09.23
Отсутствие бумаги при печати PCL


15-1187805320
ANTPro
2007-08-22 21:55
2007.09.23
Разъем питания процессора...


15-1187855606
pavel_guzhanov
2007-08-23 11:53
2007.09.23
формат jpg


3-1179731199
White Barsik
2007-05-21 11:06
2007.09.23
Каскад из TADOQuery





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский