Форум программистов, компьютерный форум, киберфорум
Delphi: Графика, звук, видео
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
164 / 49 / 27
Регистрация: 04.06.2013
Сообщений: 636

работа с image

08.11.2013, 21:59. Показов 1163. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
написал во такой обработчик на button2click
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
procedure TForm1.Button2Click(Sender: TObject);
var r,g,b,cr,cg,cb:byte;
i,j:integer;
begin
 
for i := 0 to image1.Picture.Bitmap.Width-1 do
    for j := 0 to image1.Picture.Bitmap.Height-1 do
     begin
      r:=image1.Canvas.Pixels[i,j];
      g:=image1.Canvas.Pixels[i,j]+(shr 8);
      b:=image1.Canvas.Pixels[i,j]+(shr 16);
      cr:=(exp(133*ln(r)))mod 323;
      cg:=(exp(133*ln(g)))mod 323;
      cb:=(exp(133*ln(b)))mod 323;
      image1.Canvas.Pixels[i,j]:=cr;
      image1.Canvas.Pixels[i,j]:=cg+shl 8;
      image1.Canvas.Pixels[i,j]:=cb+shl 16;
     end;
end;
Но при компиляции мне выдаёт Expression expected but shr found иExpression expected but shl found
Где я ошибся????
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.11.2013, 21:59
Ответы с готовыми решениями:

Надо что бы при нажатии на какой либо Image с картинкой, картинка перекидывалась в пусто Image, а Image на который нажали исчезал.
Имеется 4 Image в 3 из них находятся картинки, а 4 пустой. Надо что бы при нажатии на какой либо Image с картинкой, картинка перекидывалась...

Работа с Image
Люди плиз помогите сделать чтобы инверсия и гистограмма применялась на все изображение.... а то у меня тока часть инвентирует=((( ...

Работа с image
Задание заключается в том что, нужно нарисовать эллипс который был бы разделёна на 180 областей, и при нажатии на кнопку все эти области...

19
Модератор
 Аватар для FIL
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
08.11.2013, 22:05
Цитата Сообщение от mish_k98 Посмотреть сообщение
Где я ошибся????
Что это:
Delphi
1
+(shr 8)
0
164 / 49 / 27
Регистрация: 04.06.2013
Сообщений: 636
08.11.2013, 22:09  [ТС]
shr это сдвиг байта вправо на 8.
вот подробно http://www.delphibasics.co.uk/RTL.asp?Name=Shl
0
angstrom
08.11.2013, 22:16
Цитата Сообщение от mish_k98 Посмотреть сообщение
вот подробно
Неужели? А что именно сдвигается не подскажешь?
164 / 49 / 27
Регистрация: 04.06.2013
Сообщений: 636
08.11.2013, 22:16  [ТС]
а как надо.где ошибка?
0
angstrom
08.11.2013, 22:18
Сдвигать нужно какую-либо переменную, к примеру
Delphi
1
I := J shr 8;
164 / 49 / 27
Регистрация: 04.06.2013
Сообщений: 636
08.11.2013, 22:22  [ТС]
спасибо.но есть ещё одна проблема.рукается на строчки 12-14

Добавлено через 10 секунд
ругается

Добавлено через 2 минуты
пишет operator not aplicable to this operand type
как же мне сделать?
0
angstrom
08.11.2013, 22:24
Delphi
1
2
3
4
5
6
7
var
  aColor := TColor;
...
  aColor := Image1.Canvas.Pixels[I, J];
  r := GetRValue(aColor);
  g := GetGValue(aColor);
  b := GetBValue(aColor);
164 / 49 / 27
Регистрация: 04.06.2013
Сообщений: 636
08.11.2013, 22:26  [ТС]
непонял чесно говоря.
у меня проблема с этим
Delphi
1
2
3
cr:=(exp(133*ln(r)))mod 323;
      cg:=(exp(133*ln(g)))mod 323;
      cb:=(exp(133*ln(b)))mod 323;
0
Модератор
 Аватар для FIL
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
08.11.2013, 22:28
Цитата Сообщение от mish_k98 Посмотреть сообщение
пишет operator not aplicable to this operand type
mod работает только с целочисленными типами.
0
angstrom
08.11.2013, 22:28
А выше уже всё исправил?
164 / 49 / 27
Регистрация: 04.06.2013
Сообщений: 636
08.11.2013, 22:32  [ТС]
все-равно ничего не выходит.не могли бы вы написать полностью как должно быть.я с графикой вообще дела никогда не имел
0
angstrom
08.11.2013, 22:36
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
procedure TForm1.Button2Click(Sender: TObject);
var
  r, g, b,
  cr, cg, cb : Byte;
  I, J : Integer;
begin
  for I := 0 to Image1.Picture.Bitmap.Width - 1 do
    for J := 0 to Image1.Picture.Bitmap.Height -1 do
    begin
      r := Image1.Canvas.Pixels[I, J];
      g := Image1.Canvas.Pixels[I, J] shr 8;
      b := Image1.Canvas.Pixels[I, J] shr 16;
      cr := Round(exp(133 * ln(r))) mod 323;
      cg := Round(exp(133 * ln(g))) mod 323;
      cb := Round(exp(133 * ln(b))) mod 323;
      Image1.Canvas.Pixels[I, J] := cr;
      Image1.Canvas.Pixels[I, J] := cg shl 8;
      Image1.Canvas.Pixels[I, J] := cb shl 16;
    end;
end;
164 / 49 / 27
Регистрация: 04.06.2013
Сообщений: 636
08.11.2013, 22:48  [ТС]
и вот что получилось
Миниатюры
работа с image  
0
angstrom
08.11.2013, 22:58
Это уже твоя формула виновата. Нельзя взять Ln от 0.
Модератор
 Аватар для FIL
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
08.11.2013, 23:04
И пиксель собирается примерно так:
Delphi
1
  Image1.Canvas.Pixels[I, J] := cr or (cg shl 8) or (cb shl 16);
0
164 / 49 / 27
Регистрация: 04.06.2013
Сообщений: 636
09.11.2013, 20:16  [ТС]
Цитата Сообщение от angstrom Посмотреть сообщение
Нельзя взять Ln от 0.
ну я поменял от i:=1 j:=1 to width and height.но всё равно что-то не то
0
Модератор
 Аватар для FIL
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
09.11.2013, 20:19
Цитата Сообщение от mish_k98 Посмотреть сообщение
ну я поменял от i:=1 j:=1 to width and height.но всё равно что-то не то
Это тут вообще не при чем.
0
164 / 49 / 27
Регистрация: 04.06.2013
Сообщений: 636
09.11.2013, 20:20  [ТС]
а как же сделать?
0
angstrom
09.11.2013, 21:50
Объяснить, что требуется получить от картинки.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.11.2013, 21:50
Помогаю со студенческими работами здесь

Работа с Image c++
Есть компонент Image, на котором расположено несколько произвольных многогранников и некоторое число точек. как определить в каком из...

Работа с Image
Мне надо при нажатии кнопку поменять изображение из Image и через 3 секунда надо вернется на прошлую изоброжению, можете сделать пример для...

Работа с Image
Все доброго времени суток.........есть форма с Borderstyle=bsnone на ней есть Image который закреплен за нижним правым углом, картинка у...

Работа с image
Здравствуйте помогите пожалуйста новичку в программирование разобраться что происходит в коде представленном ниже procedure...

Работа с Image
Подскажите: Как опредилить центр фигуры нарисованной в Image?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru