| Автор |
Съобщение |
|
Nikola Kirov
Ранг: Форумен бог
Регистриран на: Нед Окт 31, 2004 9:19 pm Мнения: 4464 Местоположение: Stara Zagora
|
 Bitmap и VisualC++
Опитвам се да си заредя bitmap от фаил в CBitmap но нещо не се получава.
Някой има ли работещ код дето да прави това . Загубих вчера поне 5 часа за такава тъпотия но не можах да стигна до решение.
|
| Сря Сеп 21, 2005 4:55 pm |
|
 |
|
¶
Ранг: Форумен бог
Регистриран на: Пет Фев 25, 2005 1:58 pm Мнения: 4585 Местоположение: US
|
...
Последна промяна ¶ на Пон Яну 30, 2012 4:09 am, променена общо 1 път
|
| Сря Сеп 21, 2005 8:02 pm |
|
 |
|
Реконструктор
Ранг: Форумен бог
Регистриран на: Съб Сеп 25, 2004 12:32 pm Мнения: 8382 Местоположение: София
|
LoadImage ли ползваш? 
|
| Сря Сеп 21, 2005 11:24 pm |
|
 |
|
Nikola Kirov
Ранг: Форумен бог
Регистриран на: Нед Окт 31, 2004 9:19 pm Мнения: 4464 Местоположение: Stara Zagora
|
Не поне стигнах до заключение че съм на съвсем погрешен път.
Значи искам да си отворя от фаил един битмап и да си имам достъп до отделните му баитове да си го ровя и променям.
Някой ще ме светне ли как става
|
| Чет Сеп 22, 2005 3:56 am |
|
 |
|
Predator_MF
Ранг: Форумен бог
Регистриран на: Чет Окт 07, 2004 1:22 pm Мнения: 1949 Местоположение: София
|
Абе и на Visual C трябва да е толкова лесно...Първо ествествено, създаваш обект в паметта от клас TBitmap (или както ти се води ) в паметта (не говоря за Windows-кия битмап, той както каза е голоямо извращщение). После, ако нямаш функции LoadFromFile или LoadFromStream пробвай да го начертаеш ръчно, т.е. използваш методи на ТCanvas - Draw, TextOut и пр.
|
| Чет Сеп 22, 2005 8:00 am |
|
 |
|
zaphod
Ранг: Форумен бог
Регистриран на: Нед Юли 24, 2005 10:28 am Мнения: 2658
|
с LoadImage го зареждаш, със Get/SetBitmapBits го ровичкаш, ако искаш да го изрисуваш, със SelectObject го тикваш във някакво буферно CDC, после със BitBlt го фърляш към DCто на прозореца.
|
| Чет Сеп 22, 2005 9:13 pm |
|
 |
|
Реконструктор
Ранг: Форумен бог
Регистриран на: Съб Сеп 25, 2004 12:32 pm Мнения: 8382 Местоположение: София
|
Назад си във времето, Set/GetBitmapBits са за съвместимост с 16 битовите прозорци. Новите програми трябва да ползват Set/GetDIBits
|
| Пет Сеп 23, 2005 11:34 am |
|
 |
|
zaphod
Ранг: Форумен бог
Регистриран на: Нед Юли 24, 2005 10:28 am Мнения: 2658
|
аз пък не го обичам това дибитс. ползвам си другото когато ми затрябва.
а, сега проверих - мфц НЯМА функция SetDIBits на класа CBitmap  )) хе хе, браво ня тях!
|
| Пет Сеп 23, 2005 6:02 pm |
|
 |
|
Реконструктор
Ранг: Форумен бог
Регистриран на: Съб Сеп 25, 2004 12:32 pm Мнения: 8382 Местоположение: София
|
Ми я тейсни SetBitmapBits - 100% ще стигнеш до SetDIBits 
|
| Съб Сеп 24, 2005 9:06 am |
|
 |
|
zaphod
Ранг: Форумен бог
Регистриран на: Нед Юли 24, 2005 10:28 am Мнения: 2658
|
не позна - стига си до апито SetBitmapBits. освен това е по-бързо от дибитс.
|
| Съб Сеп 24, 2005 9:59 pm |
|
 |
|
todorov8001
Ранг: Минаващ
Регистриран на: Нед Юли 24, 2005 3:35 pm Мнения: 62 Местоположение: Стара Загора
|
Значи първо трябва да определиш дали наистина класа CBitmap ще ти свърши работа.Преглеждаш методите на този клас и виждащ дали има метод за това което искаш да правиш. Ако наистина ти трябва да имаш достъп до отделните битове на файла този клас няма да ти помогне.В такъв случаи трябва да отвориш файла като обикновен файл на съвсем ниско ниво.Тогава можеш да правиш абсолютно всичко с него.Но за сметка на това трябва да знаеш точната структура на един Bitmap файл и като променяш данните от него да внимаваш много защото ако нарушиш тази структура файла повече няма да може да се отвори като Bitmap.Все пак обмисли дали наистина ти се налага да стигаш до работа с отделните битове на файла или можеш да свършиш всичко много по елегантно от доста по-високо ниво.
|
| Съб Окт 15, 2005 4:37 pm |
|
 |
|
Nikola Kirov
Ранг: Форумен бог
Регистриран на: Нед Окт 31, 2004 9:19 pm Мнения: 4464 Местоположение: Stara Zagora
|
Открих по лесен начин.
Има си клас CImage с които работата с изображения е песен.
|
| Съб Окт 15, 2005 4:53 pm |
|
 |
|
zaphod
Ранг: Форумен бог
Регистриран на: Нед Юли 24, 2005 10:28 am Мнения: 2658
|
де го тоя клас ве? май на 6тицата го няма.
|
| Нед Окт 16, 2005 6:04 pm |
|
 |
|
Nikola Kirov
Ранг: Форумен бог
Регистриран на: Нед Окт 31, 2004 9:19 pm Мнения: 4464 Местоположение: Stara Zagora
|
Няма го в 6-цата.
|
| Нед Окт 16, 2005 6:38 pm |
|
 |
|
tcsa35
Ранг: Новодошъл
Регистриран на: Сря Ное 10, 2004 4:03 pm Мнения: 111 Местоположение: София
|
|
| Пон Окт 17, 2005 9:48 am |
|
|