Главная страница
    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.04 c
2-1188173770
HF-Trade
2007-08-27 04:16
2007.09.23
Инвертировать мышь по оси Y


2-1188277836
MultIfleX
2007-08-28 09:10
2007.09.23
Ini


15-1187850596
KRM
2007-08-23 10:29
2007.09.23
Проблема при передачи даных на Bizerba ST-Terminal.


15-1188271854
Думкин
2007-08-28 07:30
2007.09.23
Уран – нерадиоактивен.


15-1188215618
Layner
2007-08-27 15:53
2007.09.23
Программирование для PDA в Delphi7





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский