openworld.5bb.ru

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » openworld.5bb.ru » Закрытые темы. » Photo EFFECT 7.3 - уже с сайтом


Photo EFFECT 7.3 - уже с сайтом

Сообщений 31 страница 60 из 87

31

SlashNet, а ну да. я типа дурак? вот когда дойдет до такого вопроса. тогда уж и.........

0

32

ну вопрос не обязательно будет именно так звучать... )
только вот зачем связываться с заведомо мошенниками?

0

33

Люблю

0

34

извращенец! :D

0

35

а че не рассказываешь что вебстрим поставил?

0

36

SlashNet, я вообще тихушник

0

37

Я пока ничего про прогу писать не стану... Извиняюсь, но сейчас не до того...

0

38

безлимитка хоть?

0

39

А кто те сказал такое, что у меня ВэбСтрим?..... нету у меня его

0

40

Новость.
Теперь в фотоэффекте можно будет приминять все фильтры на выделенную область. седня может выложу на сайт

0

41

SlashNet написал(а):

кстати, дрон тоже любил бросаться словами на английском, значения которых не совсем знает, или вовсе вымышленными словами, которые для недалеких умов звучат красиво. и думал, что это круто.

Но-но-но... Dark Water значит "Тёмная Вода". А Codename Dark Water - звучит красиво, пусть смысла и не несёт! Подчеркну: звучит красиво для почти всех.

SlashNet написал(а):

~ Нормальное отображение значков инструментов в Linux (BMP рулит!)
тоже не очень понятно...

Серёня забабахал иконки инструментов в формат BMP вместо PNG. Теперь в Wine (по крайне мере, в Wine@Etersoft, в "просто Wine" руки ещё не дошли проверить) все круто :) . Ранее вместо иконок были глюки (в Wine)/серые квадраты (в Wine@Etersoft)

Тrash написал(а):

SlashNet странно! Дрон сразу все понял =)
Так что понимайте

:)

Trash написал(а):

За каждую последующую стабильную версию программы мы готовы платить Вам $400.

ИМХО вот это бред. Если уж они покупают исходники, то зачем им это? И как они собираются отличать "следующую стабильную версию"? А если ты один фильтр добавишь, скажешь, что это стабильная версия, тоже 400$. ИМХО БРЕД

Всем удачи :). Всегда ваш, Dron2004

0

42

Дрон, ага! Тупо как-то именно это......

0

43

Trash, айпишники 87.103.* - это подсеть вебстрима.

Dron2004, йоу! как дела? жпрс еще не надоел?

0

44

Код:
procedure TFMain.AboutClick(Sender: TObject);
var
  PlugAbout: Function: PChar;
  PlugAuthor: Function: PChar;
  PlugVersion: Function: PChar;
  PlugType: Function: PChar;
  PlugName: Function: PChar;
  PlugCopyright: Function: PChar;
  FileName: String;
  Handle: THandle;
begin
  with (Sender as TMenuItem) do
  FileName := PlugList.Strings[MenuIndex];
  Handle := LoadLibrary(PChar(FileName));
  if Handle = 0 then
  begin
  ShowErrorWND(PHOTO_ERROR_MODULE_NOT_INIT, '');
  end;
  if Handle <> 0 then
  begin
  @PlugName := GetProcAddress(Handle, 'PluginName');
  @PlugAbout := GetProcAddress(Handle, 'PluginAbout');
  @PlugAuthor := GetProcAddress(Handle, 'PluginAuthor');
  @PlugVersion := GetProcAddress(Handle, 'PluginVersion');
  @PlugType := GetProcAddress(Handle, 'PluginType');
  @PlugCopyright := GetProcAddress(Handle, 'PluginCopyright');
  if (PlugAbout <> NIL) AND (PlugAuthor <> NIL) AND (PlugVersion <> NIL) AND (PlugType <> NIL) AND (PlugName <> NIL) Then
  if (PlugType = 'PFP_FILTER') or (PlugType = 'PFP_UTIL') or (PlugType = 'PFP_IMPORT_GRAPHIC_FORMAT') or (PlugType = 'PFP_EXPORT_GRAPHIC_FORMAT') then
  begin
  MessageBox(Application.Handle, PCHar(PlugName +
  ' Aa?ney ' + PlugVersion + #13#10#13#10 +
  PlugCopyright +
  #13#10#13#10 +
  'Aaoi?: ' + PlugAuthor +
  #13#10#13#10 +
  PlugAbout
  ), 'I ieaaeia', MB_ICONASTERISK);
  end;
  end;
  FreeLibrary(Handle);
end;

procedure TFMain.FMTIClick(Sender: TObject);
var
  PlugExec: function(AObject: TObject; FileName: PChar): Boolean;
  PlugAbout: Function: PChar;
  PlugAuthor: Function: PChar;
  PlugVersion: Function: PChar;
  PlugType: Function: PChar;
  PlugName: Function: PChar;
  PlugFilter: Function: PChar;
  PlugCopyright: Function: PChar;
  FileName: String;
  Handle: THandle;
  od: TOpenDialog;
begin
  with (Sender as TMenuItem) do
  FileName := GraphIList.Strings[HelpContext - 1];
  Handle := LoadLibrary(PChar(FileName));
  if Handle = 0 then
  begin
  ShowErrorWND(PHOTO_ERROR_MODULE_NOT_INIT, '');
  end;
  if Handle <> 0 then
  begin
  @PlugName := GetProcAddress(Handle, 'PluginName');
  @PlugAbout := GetProcAddress(Handle, 'PluginAbout');
  @PlugAuthor := GetProcAddress(Handle, 'PluginAuthor');
  @PlugVersion := GetProcAddress(Handle, 'PluginVersion');
  @PlugType := GetProcAddress(Handle, 'PluginType');
  @PlugCopyright := GetProcAddress(Handle, 'PluginCopyright');
  @PlugExec := GetProcAddress(Handle, 'PluginExec');
  @PlugFilter := GetProcAddress(Handle, 'PluginFilter');
  if (@PlugAbout <> nil) and (@PlugAuthor <> nil) and (@PlugVersion <> nil) and (@PlugType <> NIL) and (@PlugName <> nil) and (@PlugFilter <> nil) and (@PlugCopyright <> nil) Then
    if PlugType = 'PFP_IMPORT_GRAPHIC_FORMAT' then
    begin
    LastFMT := TMenuItem(Sender).HelpContext;
    od := TOpenDialog.Create(nil);
    od.Filter := PlugFilter;
    od.Title := 'Eiii?o';
    od.OptionsEx := [ofExNoPlacesBar];
    Temp := TBitmap.Create;
    with Temp do
    begin
    PixelFormat := pf24Bit;
    Canvas.Brush.Color := BackColor;
    Canvas.FillRect(Rect(0, 0, $FF, $FF));
    end;
    if od.Execute Then
    begin
    try
    If PlugExec(Temp, PChar(od.FileName)) = True Then
    begin
    Win.FWin := Win.TFWin.CreatePlugForm(True, od.FileName, '', 0, 0, Temp, LeftStr(ExtractFileName(od.FileName), Length(ExtractFileName(od.FileName)) - Length(ExtractFileExt(od.FileName))), ExtractFileExt(od.FileName), FColorMixer.Label2.Color);
    AddInHistory('Eiii?o...');
    end;
    except
    end;
    end;
    Temp.Free;
    od.Free;
    end;
    if PlugType <> 'PFP_IMPORT_GRAPHIC_FORMAT' then
    begin
    ShowErrorWND(PHOTO_ERROR_BAD_MODULE_TYPE, '');
    end;
  end;
  FreeLibrary(Handle);
end;

procedure TFMain.FMTEClick(Sender: TObject);
var
  PlugExec: function(AObject: TObject; FileName: PChar): Boolean;
  PlugAbout: function: PChar;
  PlugAuthor: function: PChar;
  PlugVersion: function: PChar;
  PlugType: function: PChar;
  PlugName: function: PChar;
  PlugFilter: function: PChar;
  PlugCopyright: function: PChar;
  FileName: String;
  Handle: THandle;
  sd: TSaveDialog;
begin
  with (Sender as TMenuItem) do
  FileName := GraphEList.Strings[HelpContext - 1];
  Handle := LoadLibrary(PChar(FileName));
  if Handle = 0 then
  begin
  ShowErrorWND(PHOTO_ERROR_MODULE_NOT_INIT, '');
  end;
  if Handle <> 0 then
  begin
  @PlugName := GetProcAddress(Handle, 'PluginName');
  @PlugAbout := GetProcAddress(Handle, 'PluginAbout');
  @PlugAuthor := GetProcAddress(Handle, 'PluginAuthor');
  @PlugVersion := GetProcAddress(Handle, 'PluginVersion');
  @PlugType := GetProcAddress(Handle, 'PluginType');
  @PlugCopyright := GetProcAddress(Handle, 'PluginCopyright');
  @PlugExec := GetProcAddress(Handle, 'PluginExec');
  @PlugFilter := GetProcAddress(Handle, 'PluginFilter');
  if (@PlugAbout <> NIL) AND (@PlugAuthor <> NIL) AND (@PlugVersion <> NIL) AND (@PlugType <> NIL) AND (@PlugName <> NIL) AND (@PlugFilter <> NIL) AND (@PlugCopyright <> NIL) Then
    if PlugType = 'PFP_EXPORT_GRAPHIC_FORMAT' then
    begin
    LastFMT := TMenuItem(Sender).HelpContext;
    sd := TSaveDialog.Create(nil);
    sd.Filter := PlugFilter;
    sd.Title := 'Yenii?o';
    sd.OptionsEx := [ofExNoPlacesBar];
    if sd.Execute Then
    begin
    try
    PlugExec(FWin.Image1.Picture.Bitmap, PChar(sd.FileName));
    except
    end;
    end;
    sd.Free;
    end;
    if PlugType <> 'PFP_EXPORT_GRAPHIC_FORMAT' then
    begin
    ShowErrorWND(PHOTO_ERROR_BAD_MODULE_TYPE, '');
  end;
  end;
  FreeLibrary(Handle);
end;

procedure TFMain.MDLClick(Sender: TObject);
var
  PlugExec: procedure;
  PlugAbout: function: PChar;
  PlugAuthor: function: PChar;
  PlugVersion: function: PChar;
  PlugType: function: PChar;
  PlugName: function: PChar;
  PlugCopyright: function: PChar;
  FileName: String;
  Handle: THandle;
begin
  with (Sender as TMenuItem) do
  FileName := UtilList.Strings[HelpContext - 1];
  Handle := LoadLibrary(PChar(FileName));
  if Handle = 0 then
  begin
  ShowErrorWND(PHOTO_ERROR_MODULE_NOT_INIT, '');
  end;
  if Handle <> 0 then
  begin
  @PlugName := GetProcAddress(Handle, 'PluginName');
  @PlugAbout := GetProcAddress(Handle, 'PluginAbout');
  @PlugAuthor := GetProcAddress(Handle, 'PluginAuthor');
  @PlugVersion := GetProcAddress(Handle, 'PluginVersion');
  @PlugType := GetProcAddress(Handle, 'PluginType');
  @PlugCopyright := GetProcAddress(Handle, 'PluginCopyright');
  @PlugExec := GetProcAddress(Handle, 'PluginExec');
  if (@PlugAbout <> NIL) AND (@PlugAuthor <> NIL) AND (@PlugVersion <> NIL) AND (@PlugType <> NIL) AND (@PlugName <> NIL) Then
    if PlugType = 'PFP_UTIL' then
    begin
    LastMDL := TMenuItem(Sender).HelpContext;
    PlugExec;
    end;
    if PlugType <> 'PFP_UTIL' then
    begin
    ShowErrorWND(PHOTO_ERROR_BAD_MODULE_TYPE, '');
    end;
  end;
  FreeLibrary(Handle);
end;

если не понял, можешь меня ненавидеть :D
никогда и никому не давай свой код если он закрыт

а.. забыл сказать всем привет! гы ))

Отредактировано just.young.man (22.06.2007 18:50:56)

+2

45

))))))))))))))))))) это ж мой код!))))))))))))))

+1

46

SlashNet, я через ГТС сижу

0

47

да. но не по модему, а через адсл

0

48

Trash написал(а):

))))))))))))))))))) это ж мой код!))))))))))))))

ога. а jay-soft это моя компания :D :D :D :D мусора много. зачем в операторах if с одной строкой begin и end?

+1

49

just.young.man, у каждого есть свои предпочтении в написании качественного кода ;)

0

50

Trash написал(а):

...качественного кода

качественный код, это когда нет мусора. а лишние beginы и endы только замедляют обработку инструкций ;) конечно, при десятках лишних строк это не заметно, но при сотнях и более это влияет на работу программы, тем более графической. мне все равно как тебе нравится писать (тем более что я сам больше не пишу на object pascal), это просто совет, но преподаватель c++ из омгу (slash знает =) не приняла бы такой код :D вцелом, программа неплохая, но уступает mspaintу в том, что во время рисования фигуры при пересечении с другими фигурами ее контур в месте соприкосновения принимает инверсный цвет уже нарисованной, это неудобно. еще думаю, что лучше для толщины кисти или контура каждой фигуры завести по отдельной переменной. и хотелось бы увидеть вращение на заданный угол, а не только на 90 и 180. пока все, надеюсь сказанное примешь к сведению :)

0

51

Не суть важно.... спасиб за идеи!

0

52

а еще. сделай чтобы при двойном щелчке на образце цвета открывался диалог с расширенным выбором (по типу фотошопа), где можно ввести значения rgb, hsv, hls и тд, потому что двигать скроллы не всегда удобно. желательно также добавить линейки сверху и слева. а еще вот такой баг - нарисовал я скругленные прямоугольники, выделил, затем выделил другую область, бОльшую по размерам, и вставил туда выделенные до этого прямоугольники, но после вставки область, которая превосходила по размерам ту, что я скопировал, осталась. скрин прилагается ))

0

53

just.young.man, спасибо!!! диалог выбора цвета сделаю. а тот глюк со вставкой я седня заметил =))) И правда гон... исправлю!
;)

0

54

когда выделяешь область, копируешь ее, а потом закрываешь файл лучше спрашивать, оставить скопированное в буфере или нет, а то потом при создании нового файла ширина и высота нового файла совпадают с размерами скопированной области, но при этом формат документа остается 800х600 (или другой), а не "указанный". и если пользователь пожелал оставить скопированное, лучше формат указывать как "буфер обмена" или чтото в этом роде ;)

да и еще. плагин light imposition наверно лучше перевести не "легкое наложение" а "подсвечивание" или "наложение света"

а еще интересно. есть ли в программе какие-нибудь секреты?? ))

Отредактировано just.young.man (23.06.2007 01:04:45)

0

55

just.young.man, ну ты просто седня пишешь и пишешь!) Спасибо большое тебе.
Насчет диалога того, о сохранении имаги в буфере - это классно!
Насчет того, что формат документа остается - спасиб!!!!!!!! Не заметил)
;)
Секреты будут) а тебе какие нужны?)
Насчет плагина - ок)))))

Отредактировано Trash (23.06.2007 01:08:00)

0

56

да никакие не нужны, просто интересно =)
еще. почему когда в менеджере модулей отключаешь плагин, то из помощи не убирается соответствующий ему пункт и поэтому при нажатии на него появляется ошибка инициализации модуля?? :)

0

57

... :rolleyes: ....  ;) !!!

0

58

вот такого я не ожидал... после рисования в файле его почему-то успешно удается закрыть и при этом не появляется никаких предложений сохранить его. а еще я не понял что такое сброс положения окон и почему этот пункт активен даже тогда, когда открытых окон нет.. ;)

0

59

Да, там пока глюки при закрытии... так что сообщения временно нету)
А сброс положения окон - сбрасывает положение окна инструментов, микшера и истории

0

60

просле создания файла fuck.pfp с содержимым "1" в папке plug-ins и запуска приложения вылетела ошибка "приложение или библиотека D:\...\fuck.pfp не является образом программы для windows nt. проверьте назначение установочного диска". может стоить заменить на свой диалог типа "неправильный формат плагина" и в этом диалоге еще сделать чекбокс с надписью "больше не показывать"?

зум в меню выделения тоже почему-то не работает..

еще косяки с чтением форматов. создаю файл 1.* с содержанием "1" для каждого из форматов:
1.jpg - ошибка jpeg error #53
1.gif - открыл!! файл размером 1х1 пикс. :D
1.bmp - ошибка stream read error
1.pfd - ошибка дословно: "%1 уже существует" :D
1.png - ошибка the file being readed is not valid "portable network graphic" image... вобщем дефолтовый мессадж стороннего юнита/компонента
1.tga - "ошибка при загрузке targa изображения", причем потом открывается файл 1х1 пикс. и курсор меняется на песочные часики, но работает :)
1.pcx - тоже стандартный мессадж стороннего юнита/компонента
1.fpx - failed to open the fpx file root storage. при повторной попытке открытия бесконечная ошибка access violation
1.mac - сначала ошибка "numread is 3", потом "file not large enough to be macpaint file". проверяют по размеру )))
1.wmf, 1.emf - ошибка metafile is not valid
сделай одинаковые мессаджи об ошибках, чтобы программа выглядела единым целым ;)

хорошо бы было при установке или первом запуске программы регистрировать форматы .pfd и .pfp в системе с собственными иконками

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

Отредактировано just.young.man (23.06.2007 02:21:22)

0


Вы здесь » openworld.5bb.ru » Закрытые темы. » Photo EFFECT 7.3 - уже с сайтом