Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Desktop, Получение рабочего стола без фона 
:(
    Опции темы
php
Дата 9.8.2007, 03:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 20.2.2003

Репутация: нет
Всего: 3



В общем у меня тут идея возникла как создать картинку соразмерную с рабочим столом,
в рез-те чего картинку из Wallpappers использовать не будем, а сделаем так:

1) При загрузке системы прикрываем на время Explorer в рез-те чего уберутся все
иконки и таскбар, делаем быстренько скриншот экрана и помещаем его в папку Windows
или System32 не важно, под названием скажем Cache.bmp, затем снова запускаем Explorer.

При последующей загрузке системы если файл уже существует то ничего больше не делаем, таким образом мы получаем изображение соразмерное с раб. столом.

Как вам моя идея ? Или не очень ?
--------------------
Джедаи не пройдут..
PM MAIL   Вверх
Alexeis
Дата 9.8.2007, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 16
Всего: 459



Цитата(php @  9.8.2007,  03:18 Найти цитируемый пост)
Как вам моя идея ? Или не очень ? 

  А если обои сменили?


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Rennigth
Дата 9.8.2007, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

Репутация: 8
Всего: 76



Цитата(php @  9.8.2007,  03:18 Найти цитируемый пост)
Как вам моя идея ? Или не очень ? 

если честно не очень...

Цитата(Alexeis @  9.8.2007,  12:09 Найти цитируемый пост)
А если обои сменили? 

Ну это можно и отловить smile



--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
php
Дата 9.8.2007, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 20.2.2003

Репутация: нет
Всего: 3



Ну а если обои сменили, то определяем размер и дату изменения файла, если
какое-либо из условий не совпадает, значит обои поменяли заново обновляем файл вот и
всё, можно и по другому изменение отловить... Ваши предложения ???

Цитата

если честно не очень...


Есть идеи получше  smile ??
--------------------
Джедаи не пройдут..
PM MAIL   Вверх
Virtuals
Дата 9.8.2007, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 476
Регистрация: 27.11.2006

Репутация: 4
Всего: 11



Цитата(php @ 8.8.2007,  15:11)
Да кстати тут ещё одну приколюху нашёл немного не затирается рисунок вокруг
надписей у иконок  smile , это от чего может быть такой эффект ?

тень!
PM MAIL ICQ   Вверх
php
Дата 30.9.2007, 03:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 20.2.2003

Репутация: нет
Всего: 3



Так продолжая тему двухмесячной давности..
вот мы сравнили две картинки методом ScanLine,
а можно ли как-то выделить эти изменившиеся части изображения и сохранить их
в файл или поток для дальнейшей обработки ???
--------------------
Джедаи не пройдут..
PM MAIL   Вверх
Alexeis
Дата 30.9.2007, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 16
Всего: 459



  Какая обработка предвидится?


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
php
Дата 1.10.2007, 11:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 20.2.2003

Репутация: нет
Всего: 3



Сохранение выделеных кусков в поток передача их по сети к клиенту (это уже моя забота),
ну и далее "налепление" выделенных кусков на существующее предыдущее изображение

Вот такая обработка !
--------------------
Джедаи не пройдут..
PM MAIL   Вверх
Alexeis
Дата 1.10.2007, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 16
Всего: 459



Цитата(php @  1.10.2007,  11:12 Найти цитируемый пост)
ну и далее "налепление" выделенных кусков на существующее предыдущее изображение

  Если только это, то советую ничего не выделять, а пожимать в RLE. т.е. повторяющиеся последовательности кодировать числом повторений и указанием повторяющегося цвета. Если кадров мало то еще луше для сжатия использовать zLib.

Добавлено через 59 секунд
  Налепливать - процесс долгий, да и мерцать будет неслабо, лучше уж кадр целиком.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
php
Дата 1.10.2007, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 20.2.2003

Репутация: нет
Всего: 3



Вот все говорят пожимать в RLE, а что можно по подробнее ??

zLib использовать пробовал тормоза "жутчайшие" может правда не то пробовал
это было из папки Demos в Delphi где-то.

Добавлено через 1 минуту и 28 секунд
Да кстати может его в png конвертить сразу в таком случае как его перевести из bmp в png ?
--------------------
Джедаи не пройдут..
PM MAIL   Вверх
Alexeis
Дата 1.10.2007, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 16
Всего: 459



Цитата(php @  1.10.2007,  12:41 Найти цитируемый пост)
Да кстати может его в png конвертить сразу в таком случае как его перевести из bmp в png ? 

  Это еще медленнее.

Про RLE есть в вики http://ru.wikipedia.org/wiki/%D0%9A%D0%BE%...%80%D0%B8%D0%B9

Есть в MSDN, но там алгоритм для 16/256 цветов.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
php
Дата 2.10.2007, 06:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 20.2.2003

Репутация: нет
Всего: 3



Можно ссылку на MSDN тоже ?, в принципе для 16/256 цветов тоже нормальный вариант !
--------------------
Джедаи не пройдут..
PM MAIL   Вверх
Alexeis
Дата 2.10.2007, 09:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 16
Всего: 459



Цитата

Microsoft Run Length Encoding (RLE)

This is a description of Microsoft's run length encoding (RLE) data
format, as excerpted from their official documentation. MS RLE data can
occur in both static BMP images and AVI animations.

------------------------

Bitmap Compression

Windows versions 3.0 and later support run-length encoded (RLE) formats for
compressing bitmaps that use 4 bits per pixel and 8 bits per pixel.
Compression reduces the disk and memory storage required for a bitmap.

Compression of 8-Bits-per-Pixel Bitmaps

When the biCompression member of the BITMAPINFOHEADER structure is set to
BI_RLE8, the DIB is compressed using a run-length encoded format for a
256-color bitmap. This format uses two modes: encoded mode and absolute mode.
Both modes can occur anywhere throughout a single bitmap.

Encoded Mode

A unit of information in encoded mode consists of two bytes. The first byte
specifies the number of consecutive pixels to be drawn using the color index
contained in the second byte.  The first byte of the pair can be set to zero
to indicate an escape that denotes the end of a line, the end of the bitmap,
or a delta. The interpretation of the escape depends on the value of the
second byte of the pair, which must be in the range 0x00 through 0x02.
Following are the meanings of the escape values that can be used in the
second byte:

Second byte     Meaning

0       End of line.
1       End of bitmap.
2       Delta. The two bytes following the escape contain unsigned values
indicating the horizontal and vertical offsets of the next pixel from the
current position.

Absolute Mode

Absolute mode is signaled by the first byte in the pair being set to zero and
the second byte to a value between 0x03 and 0xFF. The second byte represents
the number of bytes that follow, each of which contains the color index of a
single pixel. Each run must be aligned on a word boundary.  Following is an
example of an 8-bit RLE bitmap (the two-digit hexadecimal values in the
second column represent a color index for a single pixel):

Compressed data         Expanded data

03 04                   04 04 04
05 06                   06 06 06 06 06
00 03 45 56 67 00       45 56 67
02 78                   78 78
00 02 05 01             Move 5 right and 1 down
02 78                   78 78
00 00                   End of line
09 1E                   1E 1E 1E 1E 1E 1E 1E 1E 1E
00 01                   End of RLE bitmap

Compression of 4-Bits-per-Pixel Bitmaps

When the biCompression member of the BITMAPINFOHEADER structure is set to
BI_RLE4, the DIB is compressed using a run-length encoded format for a
16-color bitmap. This format uses two modes: encoded mode and absolute mode.

Encoded Mode

A unit of information in encoded mode consists of two bytes. The first byte
of the pair contains the number of pixels to be drawn using the color indexes
in the second byte.

The second byte contains two color indexes, one in its high-order nibble
(that is, its low-order 4 bits) and one in its low-order nibble.

The first pixel is drawn using the color specified by the high-order nibble,
the second is drawn using the color in the low-order nibble, the third is
drawn with the color in the high-order nibble, and so on, until all the
pixels specified by the first byte have been drawn.

The first byte of the pair can be set to zero to indicate an escape that
denotes the end of a line, the end of the bitmap, or a delta. The
interpretation of the escape depends on the value of the second byte of the
pair. In encoded mode, the second byte has a value in the range 0x00 through
0x02. The meaning of these values is the same as for a DIB with 8 bits per
pixel.

Absolute Mode

In absolute mode, the first byte contains zero, the second byte contains the
number of color indexes that follow, and subsequent bytes contain color
indexes in their high- and low-order nibbles, one color index for each pixel.
Each run must be aligned on a word boundary.
Following is an example of a 4-bit RLE bitmap (the one-digit hexadecimal
values in the second column represent a color index for a single pixel):

Compressed data         Expanded data

03 04                   0 4 0
05 06                   0 6 0 6 0
00 06 45 56 67 00       4 5 5 6 6 7
04 78                   7 8 7 8
00 02 05 01             Move 5 right and 1 down
04 78                   7 8 7 8
00 00                   End of line
09 1E                   1 E 1 E 1 E 1 E 1
00 01                   End of RLE bitmap


Но об этом много знать и не нужно, так как RLE 256/16 поддерживается на уровне API. Функция GetDIBits() - возвращает такую сжатую маску.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
php
Дата 3.10.2007, 03:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 20.2.2003

Репутация: нет
Всего: 3



Можно на примере, а то я только на C++ нашёл ??
--------------------
Джедаи не пройдут..
PM MAIL   Вверх
php
Дата 11.10.2007, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 20.2.2003

Репутация: нет
Всего: 3



Так стоп в смысле "сжатую" маску прошу разъяснить ?
--------------------
Джедаи не пройдут..
PM MAIL   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.1153 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.