![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
||||
|
||||
|
Народ, как отобразить картинку загруженную в image по горизонтали?
|
|
#2
|
||||
|
||||
|
|
|
#3
|
||||
|
||||
|
это не поисковики выходят из моды... это мозг тупит
я сперва конечно обратился к гуглу но из того что в субботу утром мы не нашли с ним общий язык, он не смог мне помочь ![]() ну а вообще вот Код:
// Отражение по горизонтали
Function ReflexionH(source: TBitMap): TBitMap;
var i, j: Integer;
begin
Result:=TBitmap.Create;
Result.Height:=source.Height;
Result.Width:=source.Width;
With source do
begin
for i:=0 to Width do
for j:=0 to Height do
Result.Canvas.Pixels[i, j]:=Canvas.Pixels[Width-i-1,j];
end;
end;
// Отражение по вертикали
Function ReflexionV(source: TBitMap): TBitMap;
var i, j: Integer;
begin
Result:=TBitmap.Create;
Result.Height:=source.Height;
Result.Width:=source.Width;
With source do
begin
for i:=0 to width do
for j:=0 to Height do
Result.Canvas.Pixels[i, j]:=Canvas.Pixels[i,Height-j-1];
end;
end;
// Отражение и по вертикали и по горизонтали
Function ReflexionHV(source: TBitMap): TBitMap;
var i, j: Integer;
begin
Result:=TBitmap.Create;
Result.Height:=source.Height;
Result.Width:=source.Width;
With source do
begin
for i:=0 to width do
for j:=0 to Height do
Result.Canvas.Pixels[i, j]:=Canvas.Pixels[Width-i-1,Height-j-1];
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Image1.Picture.Assign(ReflexionHV(Image1.Picture.Bitmap));
end; |
|
#4
|
||||
|
||||
|
Твои решения вполне логичное и "В ЛОБ". Не стоит работать с Pixels долго это. Юзай ScanLine. Решение по "моей" ссылке пошустрее будет.
|
|
#5
|
||||
|
||||
|
это то да, но для картинки 30х30 вполне хватает решения "в лоб", тем более пишу не себе а товарищу (студенту первого курса), хватит с него и этого
![]() И кстати, данные решения подходят только для bmp, а как сделать тоже например для jpg,png? неужели переводить в bitmap? |
|
#6
|
||||
|
||||
|
ЖПГ и ПНГ - это форматы сжатия картинки. Все равно в конечном счете надо переворачивать само изображение, которое уже в виде отдельных точек. Так что думаю иначе, кроме как переводить в bitmap, никак.
|