Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.12.05;
Скачать: [xml.tar.bz2];

Вниз

Как повернуть, к примеру TImage   Найти похожие ветки 

 
vich   (2002-11-23 21:26) [0]

Подскажите пожалуйста как повернуть TImage или другой TComponent на форме. Я думаю, что такое возможно, но КАК? Искал в книгах в интернете но ничего не нашел.Если кто знает, большая просьба, помогите (можно с куском кода).


 
TTCustomDelphiMaster   (2002-11-23 21:41) [1]

Компонент накак не повернуть, а изображение можно.

MBo © (25.09.02 07:01)
//только для 24-битных
//при повороте на 90*n градусов возможны погрешности
//из-за округления, в таких случаяъ надо использовать
//другие методы (они проще)


function BmpRot(const B: TBitmap;fi:integer):TBitmap;
type
TRGBTripleArray = array[word] of TRGBTriple;
pRGBTripleArray = ^TRGBTripleArray;
var
x0,y0,i,j,x1,y1,x11,y11,x2,y2:integer;
ht,wd,newht,newwd:integer;
cfi,sfi: double;
sline1,sline2: pRGBTRipleArray;
BEGIN
sfi:=sin(degtorad(fi));
cfi:=cos(degtorad(fi));
ht:=b.height;
wd:=b.width;
newwd:=abs(round(ht*sfi))+abs(round(wd*cfi));
newht:=abs(round(wd*sfi))+abs(round(ht*cfi));
Result:=TBitmap.create;
Result.Width:=newwd;
Result.Height:=newht;
Result.PixelFormat:=pf24bit;
x0:=wd div 2;
y0:=ht div 2;
for j :=newht-1 downto 0 do begin
sline2 := Result.scanline[j];
y1:= 2*(j-(newht-ht) div 2 -y0);
for i := newwd-1 downto 0 do begin
x1:=2*(i-(newwd-wd) div 2 -x0);
x2 :=round(x1 * cfi - y1 * sfi);
y2 :=round(x1 * sfi + y1 * cfi);
x11:=x2 div 2 +x0;
y11:=y2 div 2 +y0;
if (x11>=0)and(x11<wd)and(y11>=0)and(y11<ht) then begin
sline1 := b.scanline[y11];
sline2[i] := sline1[x11];
end;
end;
end;
end;




 
vich   (2002-11-23 22:50) [2]

Спасибо, пробую разобраться!



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.12.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.008 c
1-14549
Gerda
2002-11-26 14:06
2002.12.05
TMemo (выделение текста, установка курсора в нужное положение)


1-14643
Lili
2002-11-25 13:53
2002.12.05
Как выполнить функцию, закодированную в символьную строку?


3-14364
Calm
2002-11-19 13:30
2002.12.05
MS SQL - уведомление внешнего приложения


1-14568
vaneks
2002-11-27 08:49
2002.12.05
Кто знает где взять?


14-14762
Дремучий
2002-11-14 11:02
2002.12.05
Может такая тема здесь и неуместна....





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