| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Плавное именение рисунка с одного на другой |
| Автор: vikaz 5.9.2007, 11:46 |
| Все привет! Ребята подскажите! Как можно сделать, чтобы рисунок из одного медленно перетикал в другой? и на какой компоненте это делать image и PaintBox? Заранее спасибо! |
| Автор: cyberstream 5.9.2007, 12:42 |
| http://delphi4all.narod.ru/how/transf.htm Не на С++, но идея ясна ... |
| Автор: vikaz 5.9.2007, 13:05 |
| спс, сегодня попробую реализовать! |
| Автор: vikaz 5.9.2007, 13:21 |
| Автор: vikaz 5.9.2007, 13:59 |
| Возникла проблема с отладкой кода и проблема с PByteArray в дельфи такой код p1, p2, p : PByteMap; я написал так! PByteArray p, p1, p2; потом есть такой код: for i := 1 to count - 1 do begin for y := 0 to bm.Height - 1 do begin p := bm.ScanLine[y]; p1 := bm1.ScanLine[y]; p2 := bm2.ScanLine[y]; for x := 0 to bm.Width * 3 - 1 do p^[x] := round((p1^[x] * (count - i) + p2^[x] * i) / count); end; Form1.Canvas.Draw(0, 0, bm); Form1.Caption := IntToStr(round(i / count * 100)) + '%'; Application.ProcessMessages; if Application.Terminated then break; end; проблема возникла с сторокой p := bm.ScanLine[y]; написал так: p = bm->ScanLine[y]; но компилятор ругается: [C++ Error] Unit1.cpp(63): E2034 Cannot convert 'void *' to 'unsigned char *' что я не так определил или сделал? и как перевести строку: p^[x] := round((p1^[x] * (count - i) + p2^[x] * i) / count); |
| Автор: jonie 5.9.2007, 20:40 |
| http://pascal.sources.ru/demo/morphing.htm ну и по ссылкам на морфинг поищи 8) |
| Автор: vikaz 6.9.2007, 07:59 |
| Народ, помогите перевести код!!! :( |
| Автор: vikaz 6.9.2007, 08:53 | ||
Ну все уже не надо! Вот код на с++ под Builder 6
|